diff --git a/Back/Services/servInvoice.cs b/Back/Services/servInvoice.cs index 8cfb279..b13feb7 100644 --- a/Back/Services/servInvoice.cs +++ b/Back/Services/servInvoice.cs @@ -38,6 +38,7 @@ namespace Back.Services .Include(inc => inc.invoiceDetails) .ThenInclude(inc => inc.cODItem) .ThenInclude(inc => inc.CODUnit) + .Include(inc=>inc.sentTax) //.Include(inc => inc.payments) //.Include(inc => inc.pattern) .Select(s => new InvoiceDTO() @@ -60,6 +61,17 @@ namespace Back.Services tdis = s.tdis, tvam = s.tvam, Udate = s.Udate.ShamciToFormatShamci(), + InvoiceSendTaxs=s.sentTax.OrderBy(o => o.ID).Select(s=>new SentTaxDto() + { + Date = s.Date.ShamciToFormatShamci(), + Time = s.Time, + ID = s.ID, + InvoiceID = s.InvoiceID, + SentStatus = s.SentStatus, + InvoiceType= s.InvoiceType, + msgInvoiceType = s.InvoiceType.GetEnumDisplayName(), + msgSentStatus = s.SentStatus.GetEnumDisplayName() + }).ToList(), items = s.invoiceDetails.OrderBy(o => o.ID).Select(x => new InvoiceItemDTO() { ID = x.ID, diff --git a/Back/Services/servTaxPayer.cs b/Back/Services/servTaxPayer.cs index aa38617..a53c3d0 100644 --- a/Back/Services/servTaxPayer.cs +++ b/Back/Services/servTaxPayer.cs @@ -233,6 +233,7 @@ namespace Back.Services ID = s.ID, InvoiceID = s.InvoiceID, SentStatus=s.SentStatus, + InvoiceType= s.InvoiceType, msgInvoiceType = s.InvoiceType.GetEnumDisplayName(), msgSentStatus = s.SentStatus.GetEnumDisplayName() diff --git a/Shared/DTOs/InvoiceDtos.cs b/Shared/DTOs/InvoiceDtos.cs index 2e179d5..5995625 100644 --- a/Shared/DTOs/InvoiceDtos.cs +++ b/Shared/DTOs/InvoiceDtos.cs @@ -81,7 +81,7 @@ namespace Shared.DTOs public ICollection items { get; set; }=new List(); public ICollection payments { get; set; } = new List(); // public ICollection Invoicestatuschanges { get; set; } - // public ICollection InvoiceSendTaxs { get; set; } + public ICollection InvoiceSendTaxs { get; set; }=new List { }; } public class InvoiceItemDTO diff --git a/Shared/DTOs/SentTaxDto.cs b/Shared/DTOs/SentTaxDto.cs index 07db112..138305e 100644 --- a/Shared/DTOs/SentTaxDto.cs +++ b/Shared/DTOs/SentTaxDto.cs @@ -19,6 +19,7 @@ namespace Shared.DTOs [Display(Name = "زمان")] public string Time { get; set; } public SentStatus SentStatus { get; set; } + public InvoiceType InvoiceType { get; set; } [Display(Name = "وضعیت صورتحساب")] public string msgInvoiceType { get; set; } [Display(Name = "وضعیت ارسال")] diff --git a/TaxPayerFull/Pages/UserPanel/InvoiceItem.razor b/TaxPayerFull/Pages/UserPanel/InvoiceItem.razor index f5901b6..fc6ae6b 100644 --- a/TaxPayerFull/Pages/UserPanel/InvoiceItem.razor +++ b/TaxPayerFull/Pages/UserPanel/InvoiceItem.razor @@ -84,6 +84,48 @@
+ @if (invoice.InvoiceSendTaxs.Count>0) + { + if (invoice.InvoiceSendTaxs.Any(a=>a.InvoiceType==invoice.invoiceType + && a.SentStatus==SentStatus.Send)) + { +
این صورتحساب با این وضعیت به سامانه مودیان ارسال شده ،برای اطلاع از وضعیت لطفا تعیین وضعیت کنید
+ } + else if (invoice.InvoiceSendTaxs.Any(a => a.InvoiceType == invoice.invoiceType + && a.SentStatus == SentStatus.Successful)) + { +
+ این صورتحساب با این وضعیت به سامانه مودیان ارسال و تائید شده +
+ } + else if (invoice.InvoiceSendTaxs.Any(a => a.InvoiceType == invoice.invoiceType + && a.SentStatus == SentStatus.Unsuccessful)) + { + SendInvoice = true; +
این صورتحساب با این وضعیت به سامانه مودیان ارسال ولی تائید نشده
+ } + else if (invoice.InvoiceSendTaxs.Any(a => a.InvoiceType == invoice.invoiceType + && (a.SentStatus == SentStatus.pending || a.SentStatus == SentStatus.IN_PROGRESS))) + { +
+ این صورتحساب با این وضعیت به سامانه مودیان ارسال و در حال بررسی می باشد +
+ } + else if (invoice.InvoiceSendTaxs.Any(a => a.InvoiceType == invoice.invoiceType + && (a.SentStatus == SentStatus.NOT_FOUND || a.SentStatus == SentStatus.Unknown))) + { +
+ این صورتحساب با این وضعیت به سامانه مودیان ارسال شده ولی وضعیت آن مشخص نیست +
+ } + else if (invoice.InvoiceSendTaxs.Any(a => a.InvoiceType != invoice.invoiceType)) + { + SendInvoice = true; +
این صورتحساب با این وضعیت به سامانه مودیان ارسال نشده
+ } + } + else SendInvoice = true; +
}
@@ -238,7 +280,8 @@
} -
+ +

@@ -292,7 +335,7 @@ }
- @if (invoice.invoiceType != InvoiceType.Bidding) + @if (invoice.invoiceType != InvoiceType.Bidding && SendInvoice) {

@@ -322,7 +365,7 @@ @code { - + public bool SendInvoice { get; set; } = false; List messages = new List(); private ConfirmDialog dialog = default!; private Modal modal = default!;