From 5dac5f70f2876c7718f26891c89f126bfac1cfb1 Mon Sep 17 00:00:00 2001 From: mmrbnjd Date: Fri, 17 May 2024 23:05:46 +0330 Subject: [PATCH] ... --- Back/Controllers/InvoiceController.cs | 12 ++- Back/Services/servInvoice.cs | 58 +++++++--- Shared/DTOs/InvoiceDtos.cs | 27 +++++ TaxPayerFull/CUSComponent/InvoiceItem.razor | 114 +++++++++++++------- TaxPayerFull/FixedValues.cs | 43 +++++++- TaxPayerFull/Pages/UserPanel/Invoice.razor | 68 ++++++------ TaxPayerFull/Program.cs | 1 + 7 files changed, 231 insertions(+), 92 deletions(-) diff --git a/Back/Controllers/InvoiceController.cs b/Back/Controllers/InvoiceController.cs index 3ce7489..e9e4998 100644 --- a/Back/Controllers/InvoiceController.cs +++ b/Back/Controllers/InvoiceController.cs @@ -26,7 +26,7 @@ namespace Back.Controllers } [HttpPost("GetAll")] - public async Task?>> GetAll([FromBody] ItemSerchGetInvoices itemSerch) + public async Task?>> GetAll([FromBody] ItemSerchGetInvoices itemSerch) { var claim = HttpContext.User.Claims.First(c => c.Type == "UserID"); var UserID = claim.Value; @@ -34,6 +34,16 @@ namespace Back.Controllers return Ok(await _servInvoice.GetInvoices(user.RolUsers.First().CompanyID, itemSerch)); + } + [HttpGet("Get/{ID}")] + public async Task?>> GetAll(int ID) + { + var claim = HttpContext.User.Claims.First(c => c.Type == "UserID"); + var UserID = claim.Value; + var user = await _servUser.GetUserByUserID(Convert.ToInt32(UserID)); + + return Ok(await _servInvoice.GetInvoice(user.RolUsers.First().CompanyID, ID)); + } [HttpPost("Add")] public async Task> Add([FromBody] NUInvoiceDTO item) diff --git a/Back/Services/servInvoice.cs b/Back/Services/servInvoice.cs index af2fedc..7d5b0cc 100644 --- a/Back/Services/servInvoice.cs +++ b/Back/Services/servInvoice.cs @@ -20,25 +20,12 @@ namespace Back.Services _checkPermission = checkPermission; } - public async Task?> GetInvoices(int CompanyID, ItemSerchGetInvoices itemSerch) + public async Task GetInvoice(int CompanyID, int ID) { #region AdvancedSearch var invok = _invoiceRepo - .Get(w => w.CompanyID == CompanyID && !w.IsDeleted); + .Get(w => w.CompanyID == CompanyID && !w.IsDeleted && w.ID==ID); - if (itemSerch.InvoiceID != null) - invok = invok.Where(w => w.ID == itemSerch.InvoiceID); - - if (itemSerch.CustomerID != null) - invok = invok.Where(w => w.CustomerID == itemSerch.CustomerID); - - if (itemSerch.invoiceType != null) - invok = invok.Where(w => w.invoiceType == itemSerch.invoiceType); - - if (itemSerch.Title != null) - invok = invok.Where(w => w.Title.Contains(itemSerch.Title)); - //foreach (InputObj item in inputObjs) - // invok = invok.Where(ExMethod.GetFunc(item.Param, item.Value)); #endregion //----------------------- @@ -93,6 +80,47 @@ namespace Back.Services trn = x.acn }).ToList(), }) + .FirstOrDefaultAsync(); + } + public async Task?> GetInvoices(int CompanyID, ItemSerchGetInvoices itemSerch) + { + #region AdvancedSearch + var invok = _invoiceRepo + .Get(w => w.CompanyID == CompanyID && !w.IsDeleted); + + if (itemSerch.InvoiceID != null) + invok = invok.Where(w => w.ID == itemSerch.InvoiceID); + + if (itemSerch.CustomerID != null) + invok = invok.Where(w => w.CustomerID == itemSerch.CustomerID); + + if (itemSerch.invoiceType != null) + invok = invok.Where(w => w.invoiceType == itemSerch.invoiceType); + + if (itemSerch.Title != null) + invok = invok.Where(w => w.Title.Contains(itemSerch.Title)); + //foreach (InputObj item in inputObjs) + // invok = invok.Where(ExMethod.GetFunc(item.Param, item.Value)); + + #endregion + //----------------------- + return await invok + .Include(inc => inc.invoiceDetails) + .Include(inc => inc.payments) + .Include(inc => inc.pattern) + .Select(s => new InvoiceGridDTO() + { + CustomerID = s.CustomerID, + CustomerName = s.Customer.FullName, + ID = s.ID, + invoiceTypeTitle = s.invoiceType.GetEnumDisplayName(), + Title = s.Title, + InvoicIssueDate = s.InvoicIssueDate.ShamciToFormatShamci(), + tbill = s.tbill, + tdis = s.tdis, + tvam = s.tvam, + Udate = s.Udate.ShamciToFormatShamci(), + }) .Paging(itemSerch.PageIndex, itemSerch.PageSize); } public async Task ExistInvoiceByInvoiceID(int CompanyID, int InvoiceID) diff --git a/Shared/DTOs/InvoiceDtos.cs b/Shared/DTOs/InvoiceDtos.cs index 88343c9..d53bae0 100644 --- a/Shared/DTOs/InvoiceDtos.cs +++ b/Shared/DTOs/InvoiceDtos.cs @@ -17,6 +17,33 @@ namespace Shared.DTOs public string InvoiceDate { get; set; } public string? Des { get; set; } } + public class InvoiceGridDTO + { + [Display(Name = "شناسه")] + public int ID { get; set; } + [Display(Name = "عنوان")] + public string Title { get; set; }// + [Display(Name = "نوع صورتحساب")] + public string? invoiceTypeTitle { get; set; }// + public int CustomerID { get; set; }// + [Display(Name = "مشتری")] + public string CustomerName { get; set; }// + public string? Udate { get; set; } + [Display(Name = "تاریخ صدور")] + public string InvoicIssueDate { get; set; }// + //مجموع تخفیفات + [Display(Name = "مجموع تخفیف")] + public decimal? tdis { get; set; } + //مجموع مالیات بر ارزش افزوده + [MaxLength(18)] + [Display(Name = "مجموع مالیات")] + public decimal? tvam { get; set; } + //مجموع صورتحساب + [MaxLength(18)] + [Display(Name = "مجموع صورتحساب")] + public decimal? tbill { get; set; } + + } public class InvoiceDTO { [Display(Name = "شناسه")] diff --git a/TaxPayerFull/CUSComponent/InvoiceItem.razor b/TaxPayerFull/CUSComponent/InvoiceItem.razor index 5091c4a..7e4f9e1 100644 --- a/TaxPayerFull/CUSComponent/InvoiceItem.razor +++ b/TaxPayerFull/CUSComponent/InvoiceItem.razor @@ -2,6 +2,11 @@ @using Shared.DTOs @using Shared @inject HttpClientController hc; +@layout PanelLayout +@inject Fixedvalues fv; +@page "/InvoiceDetails/{InvoiceID:int}" +@page "/InvoiceDetails" +
@* alert *@
@@ -29,9 +34,9 @@ } - - @foreach (InvoiceType i in Enum.GetValues(typeof(InvoiceType))) - { + + @foreach (InvoiceType i in Enum.GetValues(typeof(InvoiceType))) + { if (invoice.invoiceType == i) { @@ -42,16 +47,16 @@ } - } - - + } + +