This commit is contained in:
mmrbnjd
2024-05-31 00:59:38 +03:30
parent 131330041c
commit 598c5beb5e
2 changed files with 43 additions and 1 deletions

View File

@@ -1,6 +1,7 @@
using Back.Services; using Back.Services;
using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Shared.DTOs;
namespace Back.Controllers namespace Back.Controllers
{ {
@@ -9,9 +10,49 @@ namespace Back.Controllers
public class TaxPayerController : ControllerBase public class TaxPayerController : ControllerBase
{ {
private readonly servTaxPayer _servTaxPayer; private readonly servTaxPayer _servTaxPayer;
public TaxPayerController(servTaxPayer servTaxPayer) private readonly servUser _servUser;
public TaxPayerController(servTaxPayer servTaxPayer, servUser servUser)
{ {
_servTaxPayer = servTaxPayer; _servTaxPayer = servTaxPayer;
_servUser = servUser;
}
[HttpGet("GetInvoice/{ID}")]
public async Task<ActionResult<InvoiceDTO?>> 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<string> { "صورتحساب یافت نشد"});
else
{
if (await _servTaxPayer.ExistSuccessfulorSendorpendingInvoice(result))
return BadRequest(new List<string> { "این صورتحساب قبلا به سازمان ارسال شده"});
if ((result.invoiceType == InvoiceType.BackFrmSale || result.invoiceType == InvoiceType.Repair)
&& !result.BillReference.HasValue)
return BadRequest(new List<string> { "در وضعیت برگشت از فروش و اصلاحی باید صورتحساب مرجع وجود داشته باشد" });
if ((result.invoiceType==InvoiceType.BackFrmSale || result.invoiceType == InvoiceType.Repair)
&& !await _servTaxPayer.ExistSuccessfulorSendorpendingInvoice(result.invoice))
return BadRequest(new List<string> { "در وضعیت برگشت از فروش و اصلاحی باید صورتحساب مرجع به سامانه مودیان ارسال شده باشد" });
if (!result.PatternID.HasValue)
return BadRequest(new List<string> { "ابتدا برای این صورتحساب الگو در نظر بگیرید" });
if (result.invoiceType==InvoiceType.Bidding)
return BadRequest(new List<string> { "صورتحساب در وضعیت پیش نویس نمیتواند ارسال شود" });
return Ok(result);
}
} }
} }
} }

View File

@@ -49,6 +49,7 @@ namespace Back.Services
#endregion #endregion
//----------------------- //-----------------------
return await invok return await invok
.Include(inc => inc.invoice)
.Include(inc => inc.invoiceDetails) .Include(inc => inc.invoiceDetails)
.ThenInclude(inc => inc.cODItem) .ThenInclude(inc => inc.cODItem)
.ThenInclude(inc => inc.CODUnit) .ThenInclude(inc => inc.CODUnit)