Advertisement
Guest User

Untitled

a guest
Jun 18th, 2019
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.89 KB | None | 0 0
  1. using Microsoft.EntityFrameworkCore;
  2. using MyCompany.MyProduct.Administration.Core.Application.Interfaces;
  3. using MyCompany.MyProduct.Administration.Core.Domain.Invoices;
  4. using System.Collections.Generic;
  5. using System.Linq;
  6. using System.Threading.Tasks;
  7.  
  8. namespace MyCompany.MyProduct.Administration.Core.Application.Invoices.Queries.GetAllInvoicesWithoutLines
  9. {
  10. public class GetAllInvoicesWithoutLinesQuery : IGetAllInvoicesWithoutLinesQuery
  11. {
  12. private readonly IDatabaseService database;
  13.  
  14. public GetAllInvoicesWithoutLinesQuery(IDatabaseService database)
  15. {
  16. this.database = database;
  17. }
  18.  
  19. public async Task<List<InvoiceWithoutLinesModel>> Execute(string userGuid)
  20. {
  21. return (await this.database.Invoices
  22. .AsNoTracking()
  23. .Include(i => i.InvoicingSystem)
  24. .Include(i => i.Customer)
  25. .Include(i => i.Supplier)
  26. .Include(i => i.TransactionToInvoice)
  27. .Include(i => i.MyCompanyStatus)
  28. .Include(i => i.Errors)
  29. .ThenInclude(e => e.Error)
  30. .ToListAsync())
  31. .Select(i => new InvoiceWithoutLinesModel
  32. {
  33. InvoiceNumber = i.InvoiceNumber,
  34. Appearance = i.Appearance,
  35. Category = i.Category,
  36. CreatedDate = i.CreatedDate ?? (default),
  37. CustomerName = i.Customer != null ? i.Customer.Name : "",
  38. CustomerVatId = i.Customer != null ? i.Customer.VatNumber.VatId : "",
  39. Id = i.Id,
  40. InvoicingSystem = i.InvoicingSystem != null ? i.InvoicingSystem.Name : "",
  41. IssueDate = i.IssueDate ?? (default),
  42. NetAmount = i.NetAmount ?? i.NetAmount.Value,
  43. OriginalInvoiceNumber = i.OriginalInvoiceNumber,
  44. SupplierName = i.Supplier != null ? i.Supplier.Name : "",
  45. SupplierVatId = i.Supplier != null ? i.Supplier.VatNumber.VatId : "",
  46. TransactionId = i.TransactionToInvoice != null ? i.TransactionToInvoice.TransactionId : "",
  47. VatAmount = i.VatAmount,
  48. VatAmountHuf = i.VatAmountHuf,
  49. MyCompanyStatus = new MyCompanyStatusModel { MyCompanyStatusMessage = i.MyCompanyStatus?.MyCompanyStatusMessage },
  50. Status = i.TransactionToInvoice != null ? i.TransactionToInvoice.Status : "",
  51. StatusDetails = i.Errors.Select(e => new ErrorToInvoiceModel { NavMessage = e.Error?.NavMessage, NavResultCode = e.Error?.NavResultCode })
  52. })
  53. .ToList();
  54. }
  55. }
  56. }
  57.  
  58. using System;
  59. using System.Collections.Generic;
  60. using System.Linq;
  61.  
  62. namespace MyCompany.MyProduct.Administration.Core.Application.Invoices.Queries.GetAllInvoicesWithoutLines
  63. {
  64. public class InvoiceWithoutLinesModel
  65. {
  66. public long Id { get; set; }
  67. public string InvoiceNumber { get; set; }
  68. public string Appearance { get; set; }
  69. public string Category { get; set; }
  70. public string SupplierName { get; set; }
  71. public string SupplierVatId { get; set; }
  72. public string CustomerName { get; set; }
  73. public string CustomerVatId { get; set; }
  74. public DateTime? IssueDate { get; set; }
  75. public DateTime? CreatedDate { get; set; }
  76. public decimal? NetAmount { get; set; }
  77. public decimal? VatAmount { get; set; }
  78. public decimal? VatAmountHuf { get; set; }
  79. public string OriginalInvoiceNumber { get; set; }
  80. public string TransactionId { get; set; }
  81. public MyCompanyStatusModel MyCompanyStatus { get; set; }
  82. public string Status { get; set; }
  83. public IEnumerable<ErrorToInvoiceModel> StatusDetails { get; set; }
  84. public string InvoicingSystem { get; set; }
  85. }
  86. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement