public CustomPurchaseInvoiceController() { _contactService = new ContactService(new ContactRepository(), new ContactValidator()); _itemService = new ItemService(new ItemRepository(), new ItemValidator()); _itemTypeService = new ItemTypeService(new ItemTypeRepository(), new ItemTypeValidator()); _uoMService = new UoMService(new UoMRepository(), new UoMValidator()); _warehouseItemService = new WarehouseItemService(new WarehouseItemRepository(), new WarehouseItemValidator()); _warehouseService = new WarehouseService(new WarehouseRepository(), new WarehouseValidator()); _stockMutationService = new StockMutationService(new StockMutationRepository(), new StockMutationValidator()); _barringService = new BarringService(new BarringRepository(), new BarringValidator()); _priceMutationService = new PriceMutationService(new PriceMutationRepository(), new PriceMutationValidator()); _contactGroupService = new ContactGroupService(new ContactGroupRepository(), new ContactGroupValidator()); _purchaseOrderDetailService = new PurchaseOrderDetailService(new PurchaseOrderDetailRepository(), new PurchaseOrderDetailValidator()); _salesOrderDetailService = new SalesOrderDetailService(new SalesOrderDetailRepository(), new SalesOrderDetailValidator()); _stockAdjustmentDetailService = new StockAdjustmentDetailService(new StockAdjustmentDetailRepository(), new StockAdjustmentDetailValidator()); _cashBankService = new CashBankService(new CashBankRepository(), new CashBankValidator()); _cashMutationService = new CashMutationService(new CashMutationRepository(), new CashMutationValidator()); _customPurchaseInvoiceService = new CustomPurchaseInvoiceService(new CustomPurchaseInvoiceRepository(), new CustomPurchaseInvoiceValidator()); _customPurchaseInvoiceDetailService = new CustomPurchaseInvoiceDetailService(new CustomPurchaseInvoiceDetailRepository(), new CustomPurchaseInvoiceDetailValidator()); _cashSalesReturnService = new CashSalesReturnService(new CashSalesReturnRepository(), new CashSalesReturnValidator()); _quantityPricingService = new QuantityPricingService(new QuantityPricingRepository(), new QuantityPricingValidator()); _payableService = new PayableService(new PayableRepository(), new PayableValidator()); _paymentVoucherService = new PaymentVoucherService(new PaymentVoucherRepository(), new PaymentVoucherValidator()); _paymentVoucherDetailService = new PaymentVoucherDetailService(new PaymentVoucherDetailRepository(), new PaymentVoucherDetailValidator()); _receivableService = new ReceivableService(new ReceivableRepository(), new ReceivableValidator()); _accountService = new AccountService(new AccountRepository(), new AccountValidator()); _generalLedgerJournalService = new GeneralLedgerJournalService(new GeneralLedgerJournalRepository(), new GeneralLedgerJournalValidator()); _closingService = new ClosingService(new ClosingRepository(), new ClosingValidator()); _validCombService = new ValidCombService(new ValidCombRepository(), new ValidCombValidator()); }
public RetailSalesInvoice UnpaidObject(RetailSalesInvoice retailSalesInvoice, IReceiptVoucherService _receiptVoucherService, IReceiptVoucherDetailService _receiptVoucherDetailService, ICashBankService _cashBankService, IReceivableService _receivableService, ICashMutationService _cashMutationService, IGeneralLedgerJournalService _generalLedgerJournalService, IAccountService _accountService, IClosingService _closingService) { if (_validator.ValidUnpaidObject(retailSalesInvoice)) { Receivable receivable = _receivableService.GetObjectBySource(Core.Constants.Constant.ReceivableSource.RetailSalesInvoice, retailSalesInvoice.Id); IList <ReceiptVoucher> receiptVouchers = _receiptVoucherService.GetObjectsByCashBankId((int)retailSalesInvoice.CashBankId.GetValueOrDefault()); foreach (var receiptVoucher in receiptVouchers) { if (receiptVoucher.ContactId == retailSalesInvoice.ContactId) { receiptVoucher.Errors = new Dictionary <string, string>(); _receiptVoucherService.UnconfirmObject(receiptVoucher, _receiptVoucherDetailService, _cashBankService, _receivableService, _cashMutationService, _generalLedgerJournalService, _accountService, _closingService); IList <ReceiptVoucherDetail> receiptVoucherDetails = _receiptVoucherDetailService.GetObjectsByReceiptVoucherId(receiptVoucher.Id); foreach (var receiptVoucherDetail in receiptVoucherDetails) { _receiptVoucherDetailService.SoftDeleteObject(receiptVoucherDetail); } _receiptVoucherService.SoftDeleteObject(receiptVoucher, _receiptVoucherDetailService); } } retailSalesInvoice.AmountPaid = 0; retailSalesInvoice.IsFullPayment = false; retailSalesInvoice = _repository.UnpaidObject(retailSalesInvoice); } return(retailSalesInvoice); }
public bool ValidUnconfirmObject(RetailSalesInvoice retailSalesInvoice, IRetailSalesInvoiceDetailService _retailSalesInvoiceDetailService, IReceivableService _receivableService, IReceiptVoucherDetailService _receiptVoucherDetailService) { retailSalesInvoice.Errors.Clear(); VUnconfirmObject(retailSalesInvoice, _retailSalesInvoiceDetailService, _receivableService, _receiptVoucherDetailService); return(isValid(retailSalesInvoice)); }
public RetailSalesInvoice VUnconfirmObject(RetailSalesInvoice retailSalesInvoice, IRetailSalesInvoiceDetailService _retailSalesInvoiceDetailService, IReceivableService _receivableService, IReceiptVoucherDetailService _receiptVoucherDetailService) { VIsNotDeleted(retailSalesInvoice); if (!isValid(retailSalesInvoice)) { return(retailSalesInvoice); } VIsConfirmed(retailSalesInvoice); if (!isValid(retailSalesInvoice)) { return(retailSalesInvoice); } VIsNotPaid(retailSalesInvoice); if (!isValid(retailSalesInvoice)) { return(retailSalesInvoice); } VIsUnconfirmableRetailSalesInvoiceDetails(retailSalesInvoice, _retailSalesInvoiceDetailService); if (!isValid(retailSalesInvoice)) { return(retailSalesInvoice); } VHasNoReceiptVoucherDetails(retailSalesInvoice, _receivableService, _receiptVoucherDetailService); return(retailSalesInvoice); }
public CashSalesInvoice UnconfirmObject(CashSalesInvoice cashSalesInvoice, ICashSalesInvoiceDetailService _cashSalesInvoiceDetailService, IReceivableService _receivableService, IReceiptVoucherDetailService _receiptVoucherDetailService, IWarehouseItemService _warehouseItemService, IWarehouseService _warehouseService, IItemService _itemService, IBarringService _barringService, IStockMutationService _stockMutationService, IGeneralLedgerJournalService _generalLedgerJournalService, IAccountService _accountService, IClosingService _closingService) { if (_validator.ValidUnconfirmObject(cashSalesInvoice, _cashSalesInvoiceDetailService, _receivableService, _receiptVoucherDetailService, _closingService)) { IList <CashSalesInvoiceDetail> cashSalesInvoiceDetails = _cashSalesInvoiceDetailService.GetObjectsByCashSalesInvoiceId(cashSalesInvoice.Id); foreach (var cashSalesInvoiceDetail in cashSalesInvoiceDetails) { cashSalesInvoiceDetail.Errors = new Dictionary <string, string>(); _cashSalesInvoiceDetailService.UnconfirmObject(cashSalesInvoiceDetail, _warehouseItemService, _warehouseService, _itemService, _barringService, _stockMutationService); } Receivable receivable = _receivableService.GetObjectBySource(Core.Constants.Constant.ReceivableSource.CashSalesInvoice, cashSalesInvoice.Id); _receivableService.SoftDeleteObject(receivable); _generalLedgerJournalService.CreateUnconfirmationJournalForCashSalesInvoice(cashSalesInvoice, _accountService); cashSalesInvoice.CoGS = 0; cashSalesInvoice.Total = 0; cashSalesInvoice.Discount = 0; cashSalesInvoice.Tax = 0; cashSalesInvoice = _repository.UnconfirmObject(cashSalesInvoice); } return(cashSalesInvoice); }
public ReceiptVoucher CreateObject(ReceiptVoucher receiptVoucher, IReceiptVoucherDetailService _receiptVoucherDetailService, IReceivableService _receivableService, IContactService _contactService, ICashBankService _cashBankService) { receiptVoucher.Errors = new Dictionary <String, String>(); return(_validator.ValidCreateObject(receiptVoucher, this, _receiptVoucherDetailService, _receivableService, _contactService, _cashBankService) ? _repository.CreateObject(receiptVoucher) : receiptVoucher); }
public ReceiptVoucher ConfirmObject(ReceiptVoucher receiptVoucher, DateTime ConfirmationDate, IReceiptVoucherDetailService _receiptVoucherDetailService, ICashBankService _cashBankService, IReceivableService _receivableService, ICashMutationService _cashMutationService, IGeneralLedgerJournalService _generalLedgerJournalService, IAccountService _accountService, IClosingService _closingService) { receiptVoucher.ConfirmationDate = ConfirmationDate; if (_validator.ValidConfirmObject(receiptVoucher, this, _receiptVoucherDetailService, _cashBankService, _receivableService, _closingService)) { IList <ReceiptVoucherDetail> details = _receiptVoucherDetailService.GetObjectsByReceiptVoucherId(receiptVoucher.Id); foreach (var detail in details) { detail.Errors = new Dictionary <string, string>(); _receiptVoucherDetailService.ConfirmObject(detail, ConfirmationDate, this, _receivableService); } _repository.ConfirmObject(receiptVoucher); if (!receiptVoucher.IsGBCH) { CashBank cashBank = _cashBankService.GetObjectById(receiptVoucher.CashBankId); CashMutation cashMutation = _cashMutationService.CreateCashMutationForReceiptVoucher(receiptVoucher, cashBank); _cashMutationService.CashMutateObject(cashMutation, _cashBankService); _generalLedgerJournalService.CreateConfirmationJournalForReceiptVoucher(receiptVoucher, cashBank, _accountService); } } return(receiptVoucher); }
public ReceiptVoucher UnconfirmObject(ReceiptVoucher receiptVoucher, IReceiptVoucherDetailService _receiptVoucherDetailService, ICashBankService _cashBankService, IReceivableService _receivableService, ICashMutationService _cashMutationService) { if (_validator.ValidUnconfirmObject(receiptVoucher)) { IList <ReceiptVoucherDetail> details = _receiptVoucherDetailService.GetObjectsByReceiptVoucherId(receiptVoucher.Id); foreach (var detail in details) { detail.Errors = new Dictionary <string, string>(); _receiptVoucherDetailService.UnconfirmObject(detail, this, _receivableService); } _repository.UnconfirmObject(receiptVoucher); if (!receiptVoucher.IsGBCH) { CashBank cashBank = _cashBankService.GetObjectById(receiptVoucher.CashBankId); IList <CashMutation> cashMutations = _cashMutationService.SoftDeleteCashMutationForReceiptVoucher(receiptVoucher, cashBank); foreach (var cashMutation in cashMutations) { _cashMutationService.ReverseCashMutateObject(cashMutation, _cashBankService); } } } return(receiptVoucher); }
public CashSalesInvoice VUnconfirmObject(CashSalesInvoice cashSalesInvoice, ICashSalesInvoiceDetailService _cashSalesInvoiceDetailService, IReceivableService _receivableService, IReceiptVoucherDetailService _receiptVoucherDetailService, IClosingService _closingService) { VIsNotDeleted(cashSalesInvoice); if (!isValid(cashSalesInvoice)) { return(cashSalesInvoice); } VIsConfirmed(cashSalesInvoice); if (!isValid(cashSalesInvoice)) { return(cashSalesInvoice); } VIsNotPaid(cashSalesInvoice); if (!isValid(cashSalesInvoice)) { return(cashSalesInvoice); } VIsUnconfirmableCashSalesInvoiceDetails(cashSalesInvoice, _cashSalesInvoiceDetailService); if (!isValid(cashSalesInvoice)) { return(cashSalesInvoice); } VHasNoReceiptVoucherDetails(cashSalesInvoice, _receivableService, _receiptVoucherDetailService); if (!isValid(cashSalesInvoice)) { return(cashSalesInvoice); } VGeneralLedgerPostingHasNotBeenClosed(cashSalesInvoice, _closingService, 2); return(cashSalesInvoice); }
public ReceiptVoucher ReconcileObject(ReceiptVoucher receiptVoucher, DateTime ReconciliationDate, IReceiptVoucherDetailService _receiptVoucherDetailService, ICashMutationService _cashMutationService, ICashBankService _cashBankService, IReceivableService _receivableService) { receiptVoucher.ReconciliationDate = ReconciliationDate; if (_validator.ValidReconcileObject(receiptVoucher)) { _repository.ReconcileObject(receiptVoucher); CashBank cashBank = _cashBankService.GetObjectById(receiptVoucher.CashBankId); CashMutation cashMutation = _cashMutationService.CreateCashMutationForReceiptVoucher(receiptVoucher, cashBank); _cashMutationService.CashMutateObject(cashMutation, _cashBankService); IList <ReceiptVoucherDetail> receiptVoucherDetails = _receiptVoucherDetailService.GetObjectsByReceiptVoucherId(receiptVoucher.Id); foreach (var receiptVoucherDetail in receiptVoucherDetails) { Receivable receivable = _receivableService.GetObjectById(receiptVoucherDetail.ReceivableId); receivable.PendingClearanceAmount -= receiptVoucherDetail.Amount; if (receivable.PendingClearanceAmount == 0 && receivable.RemainingAmount == 0) { receivable.IsCompleted = true; receivable.CompletionDate = DateTime.Now; } _receivableService.UpdateObject(receivable); } } return(receiptVoucher); }
public bool ValidUpdateObject(ReceiptVoucher receiptVoucher, IReceiptVoucherService _receiptVoucherService, IReceiptVoucherDetailService _receiptVoucherDetailService, IReceivableService _receivableService, IContactService _contactService, ICashBankService _cashBankService) { receiptVoucher.Errors.Clear(); VUpdateObject(receiptVoucher, _receiptVoucherService, _receiptVoucherDetailService, _receivableService, _contactService, _cashBankService); return(isValid(receiptVoucher)); }
public ReceiptVoucher VCreateObject(ReceiptVoucher receiptVoucher, IReceiptVoucherService _receiptVoucherService, IReceiptVoucherDetailService _receiptVoucherDetailService, IReceivableService _receivableService, IContactService _contactService, ICashBankService _cashBankService) { VHasContact(receiptVoucher, _contactService); if (!isValid(receiptVoucher)) { return(receiptVoucher); } VHasCashBank(receiptVoucher, _cashBankService); if (!isValid(receiptVoucher)) { return(receiptVoucher); } VHasReceiptDate(receiptVoucher); if (!isValid(receiptVoucher)) { return(receiptVoucher); } VIfGBCHThenIsBank(receiptVoucher, _cashBankService); if (!isValid(receiptVoucher)) { return(receiptVoucher); } VIfGBCHThenHasDueDate(receiptVoucher); return(receiptVoucher); }
public ReconciliationController( IGlobalService globalService, IReceivableService ReceivableService ) { this._GlobalService = globalService; this._ReceivableService = ReceivableService; }
public bool ValidUnconfirmObject(CashSalesInvoice cashSalesInvoice, ICashSalesInvoiceDetailService _cashSalesInvoiceDetailService, IReceivableService _receivableService, IReceiptVoucherDetailService _receiptVoucherDetailService, IClosingService _closingService) { cashSalesInvoice.Errors.Clear(); VUnconfirmObject(cashSalesInvoice, _cashSalesInvoiceDetailService, _receivableService, _receiptVoucherDetailService, _closingService); return(isValid(cashSalesInvoice)); }
public ReceivableReportController( IGlobalService globalService, IReceivableService ReceivableService ) { this._GlobalService = globalService; this._ReceivableService = ReceivableService; }
public bool ValidConfirmObject(ReceiptVoucher receiptVoucher, IReceiptVoucherService _receiptVoucherService, IReceiptVoucherDetailService _receiptVoucherDetailService, ICashBankService _cashBankService, IReceivableService _receivableService, IClosingService _closingService) { receiptVoucher.Errors.Clear(); VConfirmObject(receiptVoucher, _receiptVoucherService, _receiptVoucherDetailService, _cashBankService, _receivableService, _closingService); return(isValid(receiptVoucher)); }
public AssignedReceivablesPageViewModel( ISettingsService settingsService, IPageDialogService dialogService, INavigationService navigationService, IReceivableService receivableService ) : base(settingsService, dialogService, navigationService) { _receivableService = receivableService; Title = "Assigned Receivables"; }
public ReceivableListPageViewModel( ISettingsService settingsService, IPageDialogService dialogService, INavigationService navigationService, IReceivableService receivableService ) : base(settingsService, dialogService, navigationService) { _receivableService = receivableService; Title = "Receivable List"; }
public ReceiptVoucher VUpdateObject(ReceiptVoucher receiptVoucher, IReceiptVoucherService _receiptVoucherService, IReceiptVoucherDetailService _receiptVoucherDetailService, IReceivableService _receivableService, IContactService _contactService, ICashBankService _cashBankService) { VHasNoReceiptVoucherDetail(receiptVoucher, _receiptVoucherDetailService); if (!isValid(receiptVoucher)) { return(receiptVoucher); } VCreateObject(receiptVoucher, _receiptVoucherService, _receiptVoucherDetailService, _receivableService, _contactService, _cashBankService); return(receiptVoucher); }
public SalesInvoice VHasReceiptVoucherDetails(SalesInvoice salesInvoice, IReceivableService _receivableService, IReceiptVoucherDetailService _receiptVoucherDetailService) { Receivable receivable = _receivableService.GetObjectBySource(Constant.ReceivableSource.SalesInvoice, salesInvoice.Id); IList <ReceiptVoucherDetail> pvdetails = _receiptVoucherDetailService.GetObjectsByReceivableId(receivable.Id); if (pvdetails.Any()) { salesInvoice.Errors.Add("Generic", "Tidak boleh sudah ada proses pembayaran"); } return(salesInvoice); }
public ReceivableDetailPageViewModel( ISettingsService settingsService, IPageDialogService dialogService, INavigationService navigationService, IReceivableService receivableService, ITaskService taskService ) : base(settingsService, dialogService, navigationService) { _receivableService = receivableService; _taskService = taskService; Title = "Receivable Detail"; HasTask = false; }
public ReceiptVoucherDetail CreateObject(int receiptVoucherId, int receivableId, decimal amount, string description, IReceiptVoucherService _receiptVoucherService, ICashBankService _cashBankService, IReceivableService _receivableService) { ReceiptVoucherDetail receiptVoucherDetail = new ReceiptVoucherDetail { ReceiptVoucherId = receiptVoucherId, ReceivableId = receivableId, Amount = amount, Description = description, }; return(this.CreateObject(receiptVoucherDetail, _receiptVoucherService, _cashBankService, _receivableService)); }
public ReceiptVoucherDetail VUniqueReceivableId(ReceiptVoucherDetail receiptVoucherDetail, IReceiptVoucherDetailService _receiptVoucherDetailService, IReceivableService _receivableService) { IList <ReceiptVoucherDetail> receiptVoucherDetails = _receiptVoucherDetailService.GetObjectsByReceiptVoucherId(receiptVoucherDetail.ReceiptVoucherId); Receivable receivable = _receivableService.GetObjectById(receiptVoucherDetail.ReceivableId); foreach (var detail in receiptVoucherDetails) { if (detail.ReceivableId == receiptVoucherDetail.ReceivableId && detail.Id != receiptVoucherDetail.Id) { receiptVoucherDetail.Errors.Add("Generic", "ReceivableId harus unique dibandingkan receipt voucher details di dalam satu receipt voucher"); return(receiptVoucherDetail); } } return(receiptVoucherDetail); }
public ReportController() { _itemService = new ItemService(new ItemRepository(), new ItemValidator()); _itemTypeService = new ItemTypeService(new ItemTypeRepository(), new ItemTypeValidator()); _uoMService = new UoMService(new UoMRepository(), new UoMValidator()); _companyService = new CompanyService(new CompanyRepository(), new CompanyValidator()); _cashBankService = new CashBankService(new CashBankRepository(), new CashBankValidator()); _payableService = new PayableService(new PayableRepository(), new PayableValidator()); _receivableService = new ReceivableService(new ReceivableRepository(), new ReceivableValidator()); _cashSalesInvoiceService = new CashSalesInvoiceService(new CashSalesInvoiceRepository(), new CashSalesInvoiceValidator()); _cashSalesInvoiceDetailService = new CashSalesInvoiceDetailService(new CashSalesInvoiceDetailRepository(), new CashSalesInvoiceDetailValidator()); _cashSalesReturnService = new CashSalesReturnService(new CashSalesReturnRepository(), new CashSalesReturnValidator()); _cashSalesReturnDetailService = new CashSalesReturnDetailService(new CashSalesReturnDetailRepository(), new CashSalesReturnDetailValidator()); _customPurchaseInvoiceService = new CustomPurchaseInvoiceService(new CustomPurchaseInvoiceRepository(), new CustomPurchaseInvoiceValidator()); _customPurchaseInvoiceDetailService = new CustomPurchaseInvoiceDetailService(new CustomPurchaseInvoiceDetailRepository(), new CustomPurchaseInvoiceDetailValidator()); }
public RetailSalesInvoice UnconfirmObject(RetailSalesInvoice retailSalesInvoice, IRetailSalesInvoiceDetailService _retailSalesInvoiceDetailService, IReceivableService _receivableService, IReceiptVoucherDetailService _receiptVoucherDetailService, IWarehouseItemService _warehouseItemService, IWarehouseService _warehouseService, IItemService _itemService, IBarringService _barringService, IStockMutationService _stockMutationService, IClosingService _closingService) { if (_validator.ValidUnconfirmObject(retailSalesInvoice, _retailSalesInvoiceDetailService, _receivableService, _receiptVoucherDetailService)) { retailSalesInvoice = _repository.UnconfirmObject(retailSalesInvoice); IList <RetailSalesInvoiceDetail> retailSalesInvoiceDetails = _retailSalesInvoiceDetailService.GetObjectsByRetailSalesInvoiceId(retailSalesInvoice.Id); foreach (var retailSalesInvoiceDetail in retailSalesInvoiceDetails) { retailSalesInvoiceDetail.Errors = new Dictionary <string, string>(); _retailSalesInvoiceDetailService.UnconfirmObject(retailSalesInvoiceDetail, _warehouseItemService, _warehouseService, _itemService, _barringService, _stockMutationService); } Receivable receivable = _receivableService.GetObjectBySource(Core.Constants.Constant.ReceivableSource.RetailSalesInvoice, retailSalesInvoice.Id); _receivableService.SoftDeleteObject(receivable); } return(retailSalesInvoice); }
public ReceiptVoucher VConfirmObject(ReceiptVoucher receiptVoucher, IReceiptVoucherService _receiptVoucherService, IReceiptVoucherDetailService _receiptVoucherDetailService, ICashBankService _cashBankService, IReceivableService _receivableService, IClosingService _closingService) { VHasConfirmationDate(receiptVoucher); if (!isValid(receiptVoucher)) { return(receiptVoucher); } VHasReceiptVoucherDetails(receiptVoucher, _receiptVoucherDetailService); if (!isValid(receiptVoucher)) { return(receiptVoucher); } VTotalAmountIsNotZero(receiptVoucher, _receiptVoucherDetailService); if (!isValid(receiptVoucher)) { return(receiptVoucher); } VHasNotBeenConfirmed(receiptVoucher); if (!isValid(receiptVoucher)) { return(receiptVoucher); } VHasNotBeenDeleted(receiptVoucher); if (!isValid(receiptVoucher)) { return(receiptVoucher); } VAllReceiptVoucherDetailsAreConfirmable(receiptVoucher, _receiptVoucherService, _receiptVoucherDetailService, _cashBankService, _receivableService); if (!isValid(receiptVoucher)) { return(receiptVoucher); } VCashBankHasMoreAmountReceiptVoucherDetails(receiptVoucher, _receiptVoucherDetailService, _cashBankService); if (!isValid(receiptVoucher)) { return(receiptVoucher); } VGeneralLedgerPostingHasNotBeenClosed(receiptVoucher, _closingService, 1); return(receiptVoucher); }
public SalesInvoiceController() { _purchaseOrderService = new PurchaseOrderService(new PurchaseOrderRepository(), new PurchaseOrderValidator()); _purchaseOrderDetailService = new PurchaseOrderDetailService(new PurchaseOrderDetailRepository(), new PurchaseOrderDetailValidator()); _purchaseInvoiceService = new PurchaseInvoiceService(new PurchaseInvoiceRepository(), new PurchaseInvoiceValidator()); _purchaseInvoiceDetailService = new PurchaseInvoiceDetailService(new PurchaseInvoiceDetailRepository(), new PurchaseInvoiceDetailValidator()); _purchaseReceivalService = new PurchaseReceivalService(new PurchaseReceivalRepository(), new PurchaseReceivalValidator()); _purchaseReceivalDetailService = new PurchaseReceivalDetailService(new PurchaseReceivalDetailRepository(), new PurchaseReceivalDetailValidator()); _paymentVoucherDetailService = new PaymentVoucherDetailService(new PaymentVoucherDetailRepository(), new PaymentVoucherDetailValidator()); _payableService = new PayableService(new PayableRepository(), new PayableValidator()); _itemService = new ItemService(new ItemRepository(), new ItemValidator()); _salesInvoiceService = new SalesInvoiceService(new SalesInvoiceRepository(), new SalesInvoiceValidator()); _salesInvoiceDetailService = new SalesInvoiceDetailService(new SalesInvoiceDetailRepository(), new SalesInvoiceDetailValidator()); _deliveryOrderDetailService = new DeliveryOrderDetailService(new DeliveryOrderDetailRepository(), new DeliveryOrderDetailValidator()); _receiptVoucherDetailService = new ReceiptVoucherDetailService(new ReceiptVoucherDetailRepository(), new ReceiptVoucherDetailValidator()); _receivableService = new ReceivableService(new ReceivableRepository(), new ReceivableValidator()); _salesOrderService = new SalesOrderService(new SalesOrderRepository(), new SalesOrderValidator()); _deliveryOrderDetailService = new DeliveryOrderDetailService(new DeliveryOrderDetailRepository(), new DeliveryOrderDetailValidator()); _salesOrderDetailService = new SalesOrderDetailService(new SalesOrderDetailRepository(), new SalesOrderDetailValidator()); _deliveryOrderService = new DeliveryOrderService(new DeliveryOrderRepository(), new DeliveryOrderValidator()); }
public ReceiptVoucherController() { _cashBankService = new CashBankService(new CashBankRepository(), new CashBankValidator()); _cashMutationService = new CashMutationService(new CashMutationRepository(), new CashMutationValidator()); _purchaseOrderService = new PurchaseOrderService(new PurchaseOrderRepository(), new PurchaseOrderValidator()); _purchaseOrderDetailService = new PurchaseOrderDetailService(new PurchaseOrderDetailRepository(), new PurchaseOrderDetailValidator()); _purchaseInvoiceService = new PurchaseInvoiceService(new PurchaseInvoiceRepository(), new PurchaseInvoiceValidator()); _purchaseInvoiceDetailService = new PurchaseInvoiceDetailService(new PurchaseInvoiceDetailRepository(), new PurchaseInvoiceDetailValidator()); _purchaseReceivalService = new PurchaseReceivalService(new PurchaseReceivalRepository(), new PurchaseReceivalValidator()); _purchaseReceivalDetailService = new PurchaseReceivalDetailService(new PurchaseReceivalDetailRepository(), new PurchaseReceivalDetailValidator()); _paymentVoucherDetailService = new PaymentVoucherDetailService(new PaymentVoucherDetailRepository(), new PaymentVoucherDetailValidator()); _receivableService = new ReceivableService(new ReceivableRepository(), new ReceivableValidator()); _itemService = new ItemService(new ItemRepository(), new ItemValidator()); _paymentVoucherService = new PaymentVoucherService(new PaymentVoucherRepository(), new PaymentVoucherValidator()); _contactService = new ContactService(new ContactRepository(), new ContactValidator()); _receiptVoucherService = new ReceiptVoucherService(new ReceiptVoucherRepository(), new ReceiptVoucherValidator()); _receiptVoucherDetailService = new ReceiptVoucherDetailService(new ReceiptVoucherDetailRepository(), new ReceiptVoucherDetailValidator()); _accountService = new AccountService(new AccountRepository(), new AccountValidator()); _generalLedgerJournalService = new GeneralLedgerJournalService(new GeneralLedgerJournalRepository(), new GeneralLedgerJournalValidator()); _closingService = new ClosingService(new ClosingRepository(), new ClosingValidator()); _validCombService = new ValidCombService(new ValidCombRepository(), new ValidCombValidator()); }
public ReceiptVoucher VAllReceiptVoucherDetailsAreConfirmable(ReceiptVoucher receiptVoucher, IReceiptVoucherService _receiptVoucherService, IReceiptVoucherDetailService _receiptVoucherDetailService, ICashBankService _cashBankService, IReceivableService _receivableService) { IList <ReceiptVoucherDetail> details = _receiptVoucherDetailService.GetObjectsByReceiptVoucherId(receiptVoucher.Id); foreach (var detail in details) { detail.ConfirmationDate = receiptVoucher.ConfirmationDate; if (!_receiptVoucherDetailService.GetValidator().ValidConfirmObject(detail, _receivableService)) { foreach (var error in detail.Errors) { receiptVoucher.Errors.Add(error.Key, error.Value); } if (receiptVoucher.Errors.Any()) { return(receiptVoucher); } } } return(receiptVoucher); }
public CashSalesInvoice ConfirmObject(CashSalesInvoice cashSalesInvoice, DateTime ConfirmationDate, decimal Discount, decimal Tax, ICashSalesInvoiceDetailService _cashSalesInvoiceDetailService, IContactService _contactService, IPriceMutationService _priceMutationService, IReceivableService _receivableService, ICashSalesInvoiceService _cashSalesInvoiceService, IWarehouseItemService _warehouseItemService, IWarehouseService _warehouseService, IItemService _itemService, IBarringService _barringService, IStockMutationService _stockMutationService, ICashBankService _cashBankService, IGeneralLedgerJournalService _generalLedgerJournalService, IAccountService _accountService, IClosingService _closingService) { cashSalesInvoice.ConfirmationDate = ConfirmationDate; if (_validator.ValidConfirmObject(cashSalesInvoice, _cashSalesInvoiceDetailService, _cashSalesInvoiceService, _warehouseItemService, _contactService, _cashBankService, _closingService)) { cashSalesInvoice.Discount = Discount; cashSalesInvoice.Tax = Tax; IList <CashSalesInvoiceDetail> cashSalesInvoiceDetails = _cashSalesInvoiceDetailService.GetObjectsByCashSalesInvoiceId(cashSalesInvoice.Id); cashSalesInvoice.Total = 0; cashSalesInvoice.CoGS = 0; foreach (var cashSalesInvoiceDetail in cashSalesInvoiceDetails) { cashSalesInvoiceDetail.Errors = new Dictionary <string, string>(); _cashSalesInvoiceDetailService.ConfirmObject(cashSalesInvoiceDetail, _cashSalesInvoiceService, _warehouseItemService, _warehouseService, _itemService, _barringService, _stockMutationService); cashSalesInvoice.Total += cashSalesInvoiceDetail.Amount; cashSalesInvoice.CoGS += cashSalesInvoiceDetail.CoGS; } // Tax dihitung setelah Discount cashSalesInvoice.Total = (cashSalesInvoice.Total * ((100 - cashSalesInvoice.Discount) / 100) * ((100 + cashSalesInvoice.Tax) / 100)); Contact contact = _contactService.GetObjectByName(Core.Constants.Constant.BaseContact); Receivable receivable = _receivableService.CreateObject(contact.Id, Core.Constants.Constant.ReceivableSource.CashSalesInvoice, cashSalesInvoice.Id, cashSalesInvoice.Code, cashSalesInvoice.Total, (DateTime)cashSalesInvoice.DueDate.GetValueOrDefault()); _generalLedgerJournalService.CreateConfirmationJournalForCashSalesInvoice(cashSalesInvoice, _accountService); cashSalesInvoice = _repository.ConfirmObject(cashSalesInvoice); } else { cashSalesInvoice.ConfirmationDate = null; } return(cashSalesInvoice); }