...
This commit is contained in:
@@ -26,15 +26,17 @@ namespace Back.Controllers
|
||||
private readonly servInvoice _servInvoice;
|
||||
private readonly RemittanceService _remittanceService;
|
||||
private readonly WarehouseService _warehouseService;
|
||||
public InvoiceItemController(servInvoiceItem servInvoiceItem, AUInvoiceItemValidation validationInvoiceItem
|
||||
, servUser servUser, servInvoice servInvoice)
|
||||
|
||||
public InvoiceItemController(servInvoiceItem servInvoiceItem, servUser servUser, AUInvoiceItemValidation validationInvoiceItem, servInvoice servInvoice, RemittanceService remittanceService, WarehouseService warehouseService)
|
||||
{
|
||||
_servInvoiceItem = servInvoiceItem;
|
||||
_validationInvoiceItem = validationInvoiceItem;
|
||||
_servUser = servUser;
|
||||
_validationInvoiceItem = validationInvoiceItem;
|
||||
_servInvoice = servInvoice;
|
||||
|
||||
_remittanceService = remittanceService;
|
||||
_warehouseService = warehouseService;
|
||||
}
|
||||
|
||||
[HttpPost("AddItem")]
|
||||
public async Task<ActionResult<bool>> AddItem([FromBody] InvoiceItemAction<InvoiceItemDTO> model)
|
||||
{
|
||||
@@ -53,6 +55,10 @@ namespace Back.Controllers
|
||||
if (invoice == null)
|
||||
return BadRequest(new List<string> { "invoice notFound..." });
|
||||
|
||||
if (_servInvoice.checkFatherInvoiceByInvoiceID(user.RolUsers.First().CompanyID, model.invoiceID).Result)
|
||||
return BadRequest(new List<string> {"این صورتحساب، مرجع چند صورتحساب دیگر می باشد " +'\n'+
|
||||
"برای تغییر در آیتم ها ابتدا صورتحساب هایی که ارتباط دارند را حذف کنید" });
|
||||
|
||||
if (invoice.invoiceType == InvoiceType.Repair)
|
||||
{
|
||||
return BadRequest(new List<string> { "امکان افزودن کالا جدید در صورتحساب اصلاحی وجود ندارد" });
|
||||
@@ -123,7 +129,9 @@ namespace Back.Controllers
|
||||
if (invoice == null)
|
||||
return BadRequest(new List<string> { "invoice notFound..." });
|
||||
|
||||
|
||||
if (_servInvoice.checkFatherInvoiceByInvoiceID(user.RolUsers.First().CompanyID, model.invoiceID).Result)
|
||||
return BadRequest(new List<string> {"این صورتحساب، مرجع چند صورتحساب دیگر می باشد " +'\n'+
|
||||
"برای تغییر در آیتم ها ابتدا صورتحساب هایی که ارتباط دارند را حذف کنید" });
|
||||
|
||||
//-----Validaton
|
||||
var resultValidationmodel = await _validationInvoiceItem.ValidateAsync(Tuple.Create(user.RolUsers.First().CompanyID, model.invoiceID, model.item, eActionValidation.update));
|
||||
@@ -178,6 +186,8 @@ namespace Back.Controllers
|
||||
|
||||
invoice.LastChangeUserID = Convert.ToInt32(UserID);
|
||||
|
||||
var copyInvoice = (InvoiceItem)invoiceitem.Clone();
|
||||
|
||||
if (invoice.invoiceType == InvoiceType.BackFrmSale)
|
||||
invoiceitem.am = model.item.am;
|
||||
else
|
||||
@@ -190,14 +200,14 @@ namespace Back.Controllers
|
||||
|
||||
if (await _servInvoice.UpdateInvoice(invoice))
|
||||
{
|
||||
if (invoiceitem.am != model.item.am || invoiceitem.CODID != model.item.CODID)
|
||||
if (copyInvoice.am != model.item.am || copyInvoice.CODID != model.item.CODID)
|
||||
{
|
||||
if (await _remittanceService.HasaRemittance(invoiceitem.invoice.ID, invoiceitem.CODID))
|
||||
if (await _remittanceService.HasaRemittance(model.invoiceID, copyInvoice.CODID))
|
||||
{
|
||||
var inv = await _warehouseService.Inventory(user.RolUsers.First().CompanyID, model.item.CODID);
|
||||
if (inv - model.item.am <= 0)
|
||||
return BadRequest(new List<string> { "موجودی کالا کمتر از درخواست شماست" });
|
||||
else await _remittanceService.DeleteByInvoiceIDandCODID(invoiceitem.invoice.ID, invoiceitem.CODID);
|
||||
if (inv+ copyInvoice.am - model.item.am < 0)
|
||||
return BadRequest(new List<string> { "خطای انبار :"+"موجودی کالا کمتر از درخواست شماست" });
|
||||
else await _remittanceService.DeleteByInvoiceIDandCODID(model.invoiceID, copyInvoice.CODID);
|
||||
|
||||
// حواله جئدید
|
||||
await _remittanceService.ADD(new Shared.DTOs.Warehouse.RemittanceDto()
|
||||
@@ -205,9 +215,9 @@ namespace Back.Controllers
|
||||
CODID = model.item.CODID,
|
||||
Count = model.item.am,
|
||||
Date = DateTime.Now.ConvertMiladiToShamsi(),
|
||||
info = $"حواله خودکار از صورتحساب {invoiceitem.invoice.ID}",
|
||||
info = $"حواله خودکار از صورتحساب {model.invoiceID}",
|
||||
Type = TypeRemittance.Sale,
|
||||
InvoiceID = invoiceitem.invoice.ID
|
||||
InvoiceID = model.invoiceID
|
||||
});
|
||||
}
|
||||
|
||||
@@ -233,6 +243,10 @@ namespace Back.Controllers
|
||||
if (invoiceitem == null)
|
||||
return NotFound(new List<string> { "invoice Item notFound..." });
|
||||
|
||||
if (_servInvoice.checkFatherInvoiceByInvoiceID(user.RolUsers.First().CompanyID, InvoiceItemID).Result)
|
||||
return BadRequest(new List<string> {"این صورتحساب، مرجع چند صورتحساب دیگر می باشد " +'\n'+
|
||||
"برای تغییر در آیتم ها ابتدا صورتحساب هایی که ارتباط دارند را حذف کنید" });
|
||||
|
||||
//-----Validaton
|
||||
var resultValidationmodel = await _validationInvoiceItem.ValidateAsync(Tuple.Create(user.RolUsers.First().CompanyID, invoiceitem.InvoiceID.Value, new InvoiceItemDTO(), eActionValidation.delete));
|
||||
if (!resultValidationmodel.IsValid)
|
||||
|
||||
Reference in New Issue
Block a user