Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using Microsoft.EntityFrameworkCore;
- using MyCompany.MyProduct.Administration.Core.Application.Interfaces;
- using MyCompany.MyProduct.Administration.Core.Domain.Invoices;
- using System.Collections.Generic;
- using System.Linq;
- using System.Threading.Tasks;
- namespace MyCompany.MyProduct.Administration.Core.Application.Invoices.Queries.GetAllInvoicesWithoutLines
- {
- public class GetAllInvoicesWithoutLinesQuery : IGetAllInvoicesWithoutLinesQuery
- {
- private readonly IDatabaseService database;
- public GetAllInvoicesWithoutLinesQuery(IDatabaseService database)
- {
- this.database = database;
- }
- public async Task<List<InvoiceWithoutLinesModel>> Execute(string userGuid)
- {
- return (await this.database.Invoices
- .AsNoTracking()
- .Include(i => i.InvoicingSystem)
- .Include(i => i.Customer)
- .Include(i => i.Supplier)
- .Include(i => i.TransactionToInvoice)
- .Include(i => i.MyCompanyStatus)
- .Include(i => i.Errors)
- .ThenInclude(e => e.Error)
- .ToListAsync())
- .Select(i => new InvoiceWithoutLinesModel
- {
- InvoiceNumber = i.InvoiceNumber,
- Appearance = i.Appearance,
- Category = i.Category,
- CreatedDate = i.CreatedDate ?? (default),
- CustomerName = i.Customer != null ? i.Customer.Name : "",
- CustomerVatId = i.Customer != null ? i.Customer.VatNumber.VatId : "",
- Id = i.Id,
- InvoicingSystem = i.InvoicingSystem != null ? i.InvoicingSystem.Name : "",
- IssueDate = i.IssueDate ?? (default),
- NetAmount = i.NetAmount ?? i.NetAmount.Value,
- OriginalInvoiceNumber = i.OriginalInvoiceNumber,
- SupplierName = i.Supplier != null ? i.Supplier.Name : "",
- SupplierVatId = i.Supplier != null ? i.Supplier.VatNumber.VatId : "",
- TransactionId = i.TransactionToInvoice != null ? i.TransactionToInvoice.TransactionId : "",
- VatAmount = i.VatAmount,
- VatAmountHuf = i.VatAmountHuf,
- MyCompanyStatus = new MyCompanyStatusModel { MyCompanyStatusMessage = i.MyCompanyStatus?.MyCompanyStatusMessage },
- Status = i.TransactionToInvoice != null ? i.TransactionToInvoice.Status : "",
- StatusDetails = i.Errors.Select(e => new ErrorToInvoiceModel { NavMessage = e.Error?.NavMessage, NavResultCode = e.Error?.NavResultCode })
- })
- .ToList();
- }
- }
- }
- using System;
- using System.Collections.Generic;
- using System.Linq;
- namespace MyCompany.MyProduct.Administration.Core.Application.Invoices.Queries.GetAllInvoicesWithoutLines
- {
- public class InvoiceWithoutLinesModel
- {
- public long Id { get; set; }
- public string InvoiceNumber { get; set; }
- public string Appearance { get; set; }
- public string Category { get; set; }
- public string SupplierName { get; set; }
- public string SupplierVatId { get; set; }
- public string CustomerName { get; set; }
- public string CustomerVatId { get; set; }
- public DateTime? IssueDate { get; set; }
- public DateTime? CreatedDate { get; set; }
- public decimal? NetAmount { get; set; }
- public decimal? VatAmount { get; set; }
- public decimal? VatAmountHuf { get; set; }
- public string OriginalInvoiceNumber { get; set; }
- public string TransactionId { get; set; }
- public MyCompanyStatusModel MyCompanyStatus { get; set; }
- public string Status { get; set; }
- public IEnumerable<ErrorToInvoiceModel> StatusDetails { get; set; }
- public string InvoicingSystem { get; set; }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement