From 598c5beb5e463a81acfd8d3a39c507234b7f4229 Mon Sep 17 00:00:00 2001 From: mmrbnjd Date: Fri, 31 May 2024 00:59:38 +0330 Subject: [PATCH] ... --- Back/Controllers/TaxPayerController.cs | 43 +++++++++++++++++++++++++- Back/Services/servTaxPayer.cs | 1 + 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/Back/Controllers/TaxPayerController.cs b/Back/Controllers/TaxPayerController.cs index 558f358..8b6f67e 100644 --- a/Back/Controllers/TaxPayerController.cs +++ b/Back/Controllers/TaxPayerController.cs @@ -1,6 +1,7 @@ using Back.Services; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; +using Shared.DTOs; namespace Back.Controllers { @@ -9,9 +10,49 @@ namespace Back.Controllers public class TaxPayerController : ControllerBase { private readonly servTaxPayer _servTaxPayer; - public TaxPayerController(servTaxPayer servTaxPayer) + private readonly servUser _servUser; + public TaxPayerController(servTaxPayer servTaxPayer, servUser servUser) { _servTaxPayer = servTaxPayer; + _servUser = servUser; + } + [HttpGet("GetInvoice/{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)); + var result = await _servTaxPayer.GetInvoice(user.RolUsers.First().CompanyID, ID); + if (result==null) + return BadRequest(new List { "صورتحساب یافت نشد"}); + + else + { + if (await _servTaxPayer.ExistSuccessfulorSendorpendingInvoice(result)) + return BadRequest(new List { "این صورتحساب قبلا به سازمان ارسال شده"}); + + if ((result.invoiceType == InvoiceType.BackFrmSale || result.invoiceType == InvoiceType.Repair) + && !result.BillReference.HasValue) + return BadRequest(new List { "در وضعیت برگشت از فروش و اصلاحی باید صورتحساب مرجع وجود داشته باشد" }); + + + if ((result.invoiceType==InvoiceType.BackFrmSale || result.invoiceType == InvoiceType.Repair) + && !await _servTaxPayer.ExistSuccessfulorSendorpendingInvoice(result.invoice)) + return BadRequest(new List { "در وضعیت برگشت از فروش و اصلاحی باید صورتحساب مرجع به سامانه مودیان ارسال شده باشد" }); + + + + if (!result.PatternID.HasValue) + return BadRequest(new List { "ابتدا برای این صورتحساب الگو در نظر بگیرید" }); + + if (result.invoiceType==InvoiceType.Bidding) + return BadRequest(new List { "صورتحساب در وضعیت پیش نویس نمیتواند ارسال شود" }); + + + + return Ok(result); + } + } } } diff --git a/Back/Services/servTaxPayer.cs b/Back/Services/servTaxPayer.cs index 7bc1d10..03357e9 100644 --- a/Back/Services/servTaxPayer.cs +++ b/Back/Services/servTaxPayer.cs @@ -49,6 +49,7 @@ namespace Back.Services #endregion //----------------------- return await invok + .Include(inc => inc.invoice) .Include(inc => inc.invoiceDetails) .ThenInclude(inc => inc.cODItem) .ThenInclude(inc => inc.CODUnit)