public PurchaseReceivalDetail UndoInvoiceObject(PurchaseReceivalDetail purchaseReceivalDetail, int Quantity, IPurchaseReceivalService _purchaseReceivalService) { PurchaseReceival purchaseReceival = _purchaseReceivalService.GetObjectById(purchaseReceivalDetail.PurchaseReceivalId); _purchaseReceivalService.UnsetInvoiceComplete(purchaseReceival); purchaseReceivalDetail.IsAllInvoiced = false; purchaseReceivalDetail.PendingInvoicedQuantity += Quantity; _repository.UpdateObject(purchaseReceivalDetail); return(purchaseReceivalDetail); }
public PurchaseInvoice UnconfirmObject(PurchaseInvoice purchaseInvoice, IPurchaseInvoiceDetailService _purchaseInvoiceDetailService, IPurchaseReceivalService _purchaseReceivalService, IPurchaseReceivalDetailService _purchaseReceivalDetailService, IPaymentVoucherDetailService _paymentVoucherDetailService, IPayableService _payableService) { if (_validator.ValidUnconfirmObject(purchaseInvoice, _purchaseInvoiceDetailService, _paymentVoucherDetailService, _payableService)) { IList <PurchaseInvoiceDetail> details = _purchaseInvoiceDetailService.GetObjectsByPurchaseInvoiceId(purchaseInvoice.Id); foreach (var detail in details) { detail.Errors = new Dictionary <string, string>(); _purchaseInvoiceDetailService.UnconfirmObject(detail, _purchaseReceivalService, _purchaseReceivalDetailService); } _repository.UnconfirmObject(purchaseInvoice); PurchaseReceival purchaseReceival = _purchaseReceivalService.GetObjectById(purchaseInvoice.PurchaseReceivalId); _purchaseReceivalService.UnsetInvoiceComplete(purchaseReceival); Payable payable = _payableService.GetObjectBySource(Constant.PayableSource.PurchaseInvoice, purchaseInvoice.Id); _payableService.SoftDeleteObject(payable); } return(purchaseInvoice); }