public PurchaseInvoice ConfirmObject(PurchaseInvoice purchaseInvoice, DateTime ConfirmationDate, IPurchaseInvoiceDetailService _purchaseInvoiceDetailService, IPurchaseOrderService _purchaseOrderService, IPurchaseReceivalService _purchaseReceivalService, IPurchaseReceivalDetailService _purchaseReceivalDetailService, IPayableService _payableService) { purchaseInvoice.ConfirmationDate = ConfirmationDate; if (_validator.ValidConfirmObject(purchaseInvoice, _purchaseInvoiceDetailService, _purchaseReceivalService, _purchaseReceivalDetailService)) { // confirm details // add all amount into amountpayable IList <PurchaseInvoiceDetail> details = _purchaseInvoiceDetailService.GetObjectsByPurchaseInvoiceId(purchaseInvoice.Id); foreach (var detail in details) { detail.Errors = new Dictionary <string, string>(); _purchaseInvoiceDetailService.ConfirmObject(detail, ConfirmationDate, _purchaseReceivalDetailService); } purchaseInvoice = CalculateAmountPayable(purchaseInvoice, _purchaseInvoiceDetailService); // confirm object // create payable purchaseInvoice = _repository.ConfirmObject(purchaseInvoice); PurchaseReceival purchaseReceival = _purchaseReceivalService.GetObjectById(purchaseInvoice.PurchaseReceivalId); _purchaseReceivalService.CheckAndSetInvoiceComplete(purchaseReceival, _purchaseReceivalDetailService); PurchaseOrder purchaseOrder = _purchaseOrderService.GetObjectById(purchaseReceival.PurchaseOrderId); Payable payable = _payableService.CreateObject(purchaseOrder.ContactId, Constant.PayableSource.PurchaseInvoice, purchaseInvoice.Id, purchaseInvoice.AmountPayable, purchaseInvoice.DueDate); } return(purchaseInvoice); }
public CashSalesReturn ConfirmObject(CashSalesReturn cashSalesReturn, DateTime ConfirmationDate, decimal Allowance, ICashSalesReturnDetailService _cashSalesReturnDetailService, IContactService _contactService, ICashSalesInvoiceService _cashSalesInvoiceService, ICashSalesInvoiceDetailService _cashSalesInvoiceDetailService, IPriceMutationService _priceMutationService, IPayableService _payableService, ICashSalesReturnService _cashSalesReturnService, IWarehouseItemService _warehouseItemService, IWarehouseService _warehouseService, IItemService _itemService, IBarringService _barringService, IStockMutationService _stockMutationService, IClosingService _closingService) { cashSalesReturn.ConfirmationDate = ConfirmationDate; cashSalesReturn.Allowance = Allowance; if (_validator.ValidConfirmObject(cashSalesReturn, _cashSalesReturnDetailService, _cashSalesReturnService, _cashSalesInvoiceService, _cashSalesInvoiceDetailService)) { IList <CashSalesReturnDetail> cashSalesReturnDetails = _cashSalesReturnDetailService.GetObjectsByCashSalesReturnId(cashSalesReturn.Id); foreach (var cashSalesReturnDetail in cashSalesReturnDetails) { cashSalesReturnDetail.Errors = new Dictionary <string, string>(); _cashSalesReturnDetailService.ConfirmObject(cashSalesReturnDetail, _cashSalesReturnService, _cashSalesInvoiceService, _cashSalesInvoiceDetailService, _warehouseItemService, _warehouseService, _itemService, _barringService, _stockMutationService, _cashSalesReturnDetailService); } // DueDate untuk Payable dari mana ? Contact contact = _contactService.GetObjectByName(Core.Constants.Constant.BaseContact); Payable payable = _payableService.CreateObject(contact.Id, Core.Constants.Constant.PayableSource.CashSalesReturn, cashSalesReturn.Id, cashSalesReturn.Code, cashSalesReturn.Total, ConfirmationDate.Add(Core.Constants.Constant.PaymentDueDateTimeSpan)); cashSalesReturn = _repository.ConfirmObject(cashSalesReturn); } else { cashSalesReturn.ConfirmationDate = null; cashSalesReturn.Allowance = 0; } return(cashSalesReturn); }
public CustomPurchaseInvoice ConfirmObject(CustomPurchaseInvoice customPurchaseInvoice, DateTime ConfirmationDate, ICustomPurchaseInvoiceDetailService _customPurchaseInvoiceDetailService, IContactService _contactService, IPriceMutationService _priceMutationService, IPayableService _payableService, ICustomPurchaseInvoiceService _customPurchaseInvoiceService, IWarehouseItemService _warehouseItemService, IWarehouseService _warehouseService, IItemService _itemService, IBarringService _barringService, IStockMutationService _stockMutationService, IGeneralLedgerJournalService _generalLedgerJournalService, IAccountService _accountService, IClosingService _closingService) { customPurchaseInvoice.ConfirmationDate = ConfirmationDate; if (_validator.ValidConfirmObject(customPurchaseInvoice, _customPurchaseInvoiceDetailService, _customPurchaseInvoiceService, _warehouseItemService, _contactService, _closingService)) { IList <CustomPurchaseInvoiceDetail> customPurchaseInvoiceDetails = _customPurchaseInvoiceDetailService.GetObjectsByCustomPurchaseInvoiceId(customPurchaseInvoice.Id); customPurchaseInvoice.Total = 0; customPurchaseInvoice.CoGS = 0; foreach (var customPurchaseInvoiceDetail in customPurchaseInvoiceDetails) { customPurchaseInvoiceDetail.Errors = new Dictionary <string, string>(); _customPurchaseInvoiceDetailService.ConfirmObject(customPurchaseInvoiceDetail, _customPurchaseInvoiceService, _warehouseItemService, _warehouseService, _itemService, _barringService, _stockMutationService, _priceMutationService); customPurchaseInvoice.Total += customPurchaseInvoiceDetail.Amount; customPurchaseInvoice.CoGS += customPurchaseInvoiceDetail.CoGS; } // Tax dihitung setelah discount //customPurchaseInvoice.Total = (customPurchaseInvoice.Total * (100 - customPurchaseInvoice.Discount) / 100) * (100 - customPurchaseInvoice.Tax) / 100; customPurchaseInvoice.Total = CalculateTotalAmountAfterDiscountAndTax(customPurchaseInvoice); Payable payable = _payableService.CreateObject(customPurchaseInvoice.ContactId, Core.Constants.Constant.PayableSource.CustomPurchaseInvoice, customPurchaseInvoice.Id, customPurchaseInvoice.Code, customPurchaseInvoice.Total, (DateTime)customPurchaseInvoice.DueDate.GetValueOrDefault()); _generalLedgerJournalService.CreateConfirmationJournalForCustomPurchaseInvoice(customPurchaseInvoice, _accountService); customPurchaseInvoice = _repository.ConfirmObject(customPurchaseInvoice); } else { customPurchaseInvoice.ConfirmationDate = null; } return(customPurchaseInvoice); }
public RetailPurchaseInvoice ConfirmObject(RetailPurchaseInvoice retailPurchaseInvoice, DateTime ConfirmationDate, int ContactId, IRetailPurchaseInvoiceDetailService _retailPurchaseInvoiceDetailService, IContactService _contactService, IPriceMutationService _priceMutationService, IPayableService _payableService, IRetailPurchaseInvoiceService _retailPurchaseInvoiceService, IWarehouseItemService _warehouseItemService, IWarehouseService _warehouseService, IItemService _itemService, IBarringService _barringService, IStockMutationService _stockMutationService, IClosingService _closingService) { retailPurchaseInvoice.ContactId = ContactId; retailPurchaseInvoice.ConfirmationDate = ConfirmationDate; if (_validator.ValidConfirmObject(retailPurchaseInvoice, _retailPurchaseInvoiceDetailService, _retailPurchaseInvoiceService, _warehouseItemService, _contactService)) { IList <RetailPurchaseInvoiceDetail> retailPurchaseInvoiceDetails = _retailPurchaseInvoiceDetailService.GetObjectsByRetailPurchaseInvoiceId(retailPurchaseInvoice.Id); retailPurchaseInvoice.Total = 0; retailPurchaseInvoice.CoGS = 0; foreach (var retailPurchaseInvoiceDetail in retailPurchaseInvoiceDetails) { retailPurchaseInvoiceDetail.Errors = new Dictionary <string, string>(); _retailPurchaseInvoiceDetailService.ConfirmObject(retailPurchaseInvoiceDetail, _retailPurchaseInvoiceService, _warehouseItemService, _warehouseService, _itemService, _barringService, _stockMutationService); retailPurchaseInvoice.Total += retailPurchaseInvoiceDetail.Amount; retailPurchaseInvoice.CoGS += retailPurchaseInvoiceDetail.CoGS; } // Tax dihitung setelah discount retailPurchaseInvoice.Total = (retailPurchaseInvoice.Total * (100 - retailPurchaseInvoice.Discount) / 100) * (100 - retailPurchaseInvoice.Tax) / 100; Payable payable = _payableService.CreateObject(retailPurchaseInvoice.ContactId, Core.Constants.Constant.PayableSource.RetailPurchaseInvoice, retailPurchaseInvoice.Id, retailPurchaseInvoice.Code, retailPurchaseInvoice.Total, (DateTime)retailPurchaseInvoice.DueDate.GetValueOrDefault()); retailPurchaseInvoice = _repository.ConfirmObject(retailPurchaseInvoice); } else { retailPurchaseInvoice.ConfirmationDate = null; //retailPurchaseInvoice.ContactId = 0; //null; } return(retailPurchaseInvoice); }
public PaymentRequest ConfirmObject(PaymentRequest paymentRequest, DateTime ConfirmationDate, IPayableService _payableService) { paymentRequest.ConfirmationDate = ConfirmationDate; if (_validator.ValidConfirmObject(paymentRequest)) { // confirm object // create payable paymentRequest = _repository.ConfirmObject(paymentRequest); Payable payable = _payableService.CreateObject(paymentRequest.ContactId, Constant.PayableSource.PaymentRequest, paymentRequest.Id, paymentRequest.Code, paymentRequest.Amount, paymentRequest.DueDate); } else { paymentRequest.ConfirmationDate = null; } return(paymentRequest); }