public bool ValidUpdateObject(PurchaseReceivalDetail purchaseReceivalDetail, IPurchaseReceivalDetailService _purchaseReceivalDetailService, IPurchaseReceivalService _purchaseReceivalService, IPurchaseOrderDetailService _purchaseOrderDetailService, IItemService _itemService) { purchaseReceivalDetail.Errors.Clear(); VUpdateObject(purchaseReceivalDetail, _purchaseReceivalDetailService, _purchaseReceivalService, _purchaseOrderDetailService, _itemService); return(isValid(purchaseReceivalDetail)); }
public PurchaseReceival VDeleteObject(PurchaseReceival purchaseReceival, IPurchaseReceivalDetailService _purchaseReceivalDetailService) { VHasNotBeenConfirmed(purchaseReceival); if (!isValid(purchaseReceival)) { return(purchaseReceival); } VHasNoPurchaseReceivalDetail(purchaseReceival, _purchaseReceivalDetailService); return(purchaseReceival); }
public PurchaseOrderController() { _itemService = new ItemService(new ItemRepository(), new ItemValidator()); _warehouseItemService = new WarehouseItemService(new WarehouseItemRepository(), new WarehouseItemValidator()); _stockMutationService = new StockMutationService(new StockMutationRepository(), new StockMutationValidator()); _barringService = new BarringService(new BarringRepository(), new BarringValidator()); _purchaseOrderService = new PurchaseOrderService(new PurchaseOrderRepository(), new PurchaseOrderValidator()); _purchaseOrderDetailService = new PurchaseOrderDetailService(new PurchaseOrderDetailRepository(), new PurchaseOrderDetailValidator()); _contactService = new ContactService(new ContactRepository(), new ContactValidator()); _purchaseReceivalService = new PurchaseReceivalService(new PurchaseReceivalRepository(), new PurchaseReceivalValidator()); _purchaseReceivalDetailService = new PurchaseReceivalDetailService(new PurchaseReceivalDetailRepository(), new PurchaseReceivalDetailValidator()); }
public PaymentRequestController() { _purchaseOrderService = new PurchaseOrderService(new PurchaseOrderRepository(), new PurchaseOrderValidator()); _purchaseOrderDetailService = new PurchaseOrderDetailService(new PurchaseOrderDetailRepository(), new PurchaseOrderDetailValidator()); _paymentRequestService = new PaymentRequestService(new PaymentRequestRepository(), new PaymentRequestValidator()); _contactService = new ContactService(new ContactRepository(), new ContactValidator()); _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()); }
public PurchaseInvoiceDetail UnconfirmObject(PurchaseInvoiceDetail purchaseInvoiceDetail, IPurchaseReceivalService _purchaseReceivalService, IPurchaseReceivalDetailService _purchaseReceivalDetailService) { if (_validator.ValidUnconfirmObject(purchaseInvoiceDetail)) { purchaseInvoiceDetail = _repository.UnconfirmObject(purchaseInvoiceDetail); // reverse purchase receival detail PendingInvoiceQuantity PurchaseReceivalDetail purchaseReceivalDetail = _purchaseReceivalDetailService.GetObjectById(purchaseInvoiceDetail.PurchaseReceivalDetailId); _purchaseReceivalDetailService.UndoInvoiceObject(purchaseReceivalDetail, purchaseInvoiceDetail.Quantity, _purchaseReceivalService); } return(purchaseInvoiceDetail); }
public PurchaseInvoiceController() { _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()); }
public PurchaseInvoiceDetail ConfirmObject(PurchaseInvoiceDetail purchaseInvoiceDetail, DateTime ConfirmationDate, IPurchaseReceivalDetailService _purchaseReceivalDetailService) { purchaseInvoiceDetail.ConfirmationDate = ConfirmationDate; if (_validator.ValidConfirmObject(purchaseInvoiceDetail, this, _purchaseReceivalDetailService)) { purchaseInvoiceDetail = _repository.ConfirmObject(purchaseInvoiceDetail); // update purchase receival detail PendingInvoiceQuantity PurchaseReceivalDetail purchaseReceivalDetail = _purchaseReceivalDetailService.GetObjectById(purchaseInvoiceDetail.PurchaseReceivalDetailId); _purchaseReceivalDetailService.InvoiceObject(purchaseReceivalDetail, purchaseInvoiceDetail.Quantity); } return(purchaseInvoiceDetail); }
public PurchaseInvoiceDetail CreateObject(int purchaseInvoiceId, int purchaseReceivalDetailId, int quantity, decimal amount, IPurchaseInvoiceService _purchaseInvoiceService, IPurchaseOrderDetailService _purchaseOrderDetailService, IPurchaseReceivalDetailService _purchaseReceivalDetailService) { PurchaseInvoiceDetail purchaseInvoiceDetail = new PurchaseInvoiceDetail { PurchaseInvoiceId = purchaseInvoiceId, PurchaseReceivalDetailId = purchaseReceivalDetailId, Quantity = quantity }; return(this.CreateObject(purchaseInvoiceDetail, _purchaseInvoiceService, _purchaseOrderDetailService, _purchaseReceivalDetailService)); }
public PurchaseReceival VConfirmObject(PurchaseReceival purchaseReceival, IPurchaseReceivalDetailService _purchaseReceivalDetailService) { VHasConfirmationDate(purchaseReceival); if (!isValid(purchaseReceival)) { return(purchaseReceival); } VHasNotBeenConfirmed(purchaseReceival); if (!isValid(purchaseReceival)) { return(purchaseReceival); } VHasPurchaseReceivalDetails(purchaseReceival, _purchaseReceivalDetailService); return(purchaseReceival); }
public RollerWarehouseMutationController() { _itemService = new ItemService(new ItemRepository(), new ItemValidator()); _warehouseItemService = new WarehouseItemService(new WarehouseItemRepository(), new WarehouseItemValidator()); _stockMutationService = new StockMutationService(new StockMutationRepository(), new StockMutationValidator()); _barringService = new BarringService(new BarringRepository(), new BarringValidator()); _rollerWarehouseMutationService = new RollerWarehouseMutationService(new RollerWarehouseMutationRepository(), new RollerWarehouseMutationValidator()); _rollerWarehouseMutationDetailService = new RollerWarehouseMutationDetailService(new RollerWarehouseMutationDetailRepository(), new RollerWarehouseMutationDetailValidator()); _contactService = new ContactService(new ContactRepository(), new ContactValidator()); _purchaseReceivalService = new PurchaseReceivalService(new PurchaseReceivalRepository(), new PurchaseReceivalValidator()); _purchaseReceivalDetailService = new PurchaseReceivalDetailService(new PurchaseReceivalDetailRepository(), new PurchaseReceivalDetailValidator()); _coreIdentificationService = new CoreIdentificationService(new CoreIdentificationRepository(), new CoreIdentificationValidator()); _coreIdentificationDetailService = new CoreIdentificationDetailService(new CoreIdentificationDetailRepository(), new CoreIdentificationDetailValidator()); _warehouseService = new WarehouseService(new WarehouseRepository(), new WarehouseValidator()); _coreBuilderService = new CoreBuilderService(new CoreBuilderRepository(), new CoreBuilderValidator()); }
public PurchaseOrder UnconfirmObject(PurchaseOrder purchaseOrder, IPurchaseOrderDetailService _purchaseOrderDetailService, IPurchaseReceivalService _purchaseReceivalService, IPurchaseReceivalDetailService _purchaseReceivalDetailService, IStockMutationService _stockMutationService, IItemService _itemService, IBarringService _barringService, IWarehouseItemService _warehouseItemService) { if (_validator.ValidUnconfirmObject(purchaseOrder, _purchaseReceivalService)) { IList <PurchaseOrderDetail> purchaseOrderDetails = _purchaseOrderDetailService.GetObjectsByPurchaseOrderId(purchaseOrder.Id); foreach (var detail in purchaseOrderDetails) { detail.Errors = new Dictionary <string, string>(); _purchaseOrderDetailService.UnconfirmObject(detail, _purchaseReceivalDetailService, _stockMutationService, _itemService, _barringService, _warehouseItemService); } _repository.UnconfirmObject(purchaseOrder); } return(purchaseOrder); }
public PurchaseReceivalDetail VConfirmObject(PurchaseReceivalDetail purchaseReceivalDetail, IPurchaseReceivalDetailService _purchaseReceivalDetailService, IPurchaseOrderDetailService _purchaseOrderDetailService) { VHasConfirmationDate(purchaseReceivalDetail); if (!isValid(purchaseReceivalDetail)) { return(purchaseReceivalDetail); } VHasNotBeenConfirmed(purchaseReceivalDetail); if (!isValid(purchaseReceivalDetail)) { return(purchaseReceivalDetail); } VQuantityOfPurchaseReceivalDetailsIsLessThanOrEqualPurchaseOrderDetail(purchaseReceivalDetail, _purchaseReceivalDetailService, _purchaseOrderDetailService); return(purchaseReceivalDetail); }
public PaymentVoucherController() { _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()); _payableService = new PayableService(new PayableRepository(), new PayableValidator()); _itemService = new ItemService(new ItemRepository(), new ItemValidator()); _paymentVoucherService = new PaymentVoucherService(new PaymentVoucherRepository(), new PaymentVoucherValidator()); _contactService = new ContactService(new ContactRepository(), new ContactValidator()); _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 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 PurchaseInvoiceDetail VConfirmObject(PurchaseInvoiceDetail purchaseInvoiceDetail, IPurchaseInvoiceDetailService _purchaseInvoiceDetailService, IPurchaseReceivalDetailService _purchaseReceivalDetailService) { VHasConfirmationDate(purchaseInvoiceDetail); if (!isValid(purchaseInvoiceDetail)) { return(purchaseInvoiceDetail); } VHasNotBeenConfirmed(purchaseInvoiceDetail); if (!isValid(purchaseInvoiceDetail)) { return(purchaseInvoiceDetail); } VQuantityIsLessThanOrEqualPendingInvoiceQuantity(purchaseInvoiceDetail, _purchaseReceivalDetailService); return(purchaseInvoiceDetail); }
public PurchaseInvoiceDetail VUpdateObject(PurchaseInvoiceDetail purchaseInvoiceDetail, IPurchaseInvoiceService _purchaseInvoiceService, IPurchaseInvoiceDetailService _purchaseInvoiceDetailService, IPurchaseReceivalDetailService _purchaseReceivalDetailService) { VHasNotBeenConfirmed(purchaseInvoiceDetail); if (!isValid(purchaseInvoiceDetail)) { return(purchaseInvoiceDetail); } VCreateObject(purchaseInvoiceDetail, _purchaseInvoiceService, _purchaseInvoiceDetailService, _purchaseReceivalDetailService); return(purchaseInvoiceDetail); }
public PurchaseInvoiceDetail VCreateObject(PurchaseInvoiceDetail purchaseInvoiceDetail, IPurchaseInvoiceService _purchaseInvoiceService, IPurchaseInvoiceDetailService _purchaseInvoiceDetailService, IPurchaseReceivalDetailService _purchaseReceivalDetailService) { VHasPurchaseInvoice(purchaseInvoiceDetail, _purchaseInvoiceService); if (!isValid(purchaseInvoiceDetail)) { return(purchaseInvoiceDetail); } VHasPurchaseReceivalDetail(purchaseInvoiceDetail, _purchaseReceivalDetailService); if (!isValid(purchaseInvoiceDetail)) { return(purchaseInvoiceDetail); } VPurchaseReceivalDetailAndPurchaseInvoiceMustHaveTheSamePurchaseReceival(purchaseInvoiceDetail, _purchaseReceivalDetailService, _purchaseInvoiceService); if (!isValid(purchaseInvoiceDetail)) { return(purchaseInvoiceDetail); } VIsUniquePurchaseReceivalDetail(purchaseInvoiceDetail, _purchaseInvoiceDetailService, _purchaseReceivalDetailService); if (!isValid(purchaseInvoiceDetail)) { return(purchaseInvoiceDetail); } VNonNegativeNorZeroQuantity(purchaseInvoiceDetail); if (!isValid(purchaseInvoiceDetail)) { return(purchaseInvoiceDetail); } VQuantityIsLessThanOrEqualPendingInvoiceQuantity(purchaseInvoiceDetail, _purchaseReceivalDetailService); return(purchaseInvoiceDetail); }
public PurchaseOrderDetail VUnconfirmObject(PurchaseOrderDetail purchaseOrderDetail, IPurchaseReceivalDetailService _purchaseReceivalDetailService, IItemService _itemService) { VHasConfirmationDate(purchaseOrderDetail); if (!isValid(purchaseOrderDetail)) { return(purchaseOrderDetail); } VHasItemPendingReceival(purchaseOrderDetail, _itemService); if (!isValid(purchaseOrderDetail)) { return(purchaseOrderDetail); } VHasNoPurchaseReceivalDetail(purchaseOrderDetail, _purchaseReceivalDetailService); return(purchaseOrderDetail); }
public PurchaseOrderDetail VHasNoPurchaseReceivalDetail(PurchaseOrderDetail purchaseOrderDetail, IPurchaseReceivalDetailService _purchaseReceivalDetailService) { IList <PurchaseReceivalDetail> purchaseReceivalDetails = _purchaseReceivalDetailService.GetObjectsByPurchaseOrderDetailId(purchaseOrderDetail.Id); if (purchaseReceivalDetails.Any()) { purchaseOrderDetail.Errors.Add("Generic", "Tidak boleh terasosiasi dengan purchase receival"); } return(purchaseOrderDetail); }
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 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); }
public PurchaseInvoiceDetail VIsUniquePurchaseReceivalDetail(PurchaseInvoiceDetail purchaseInvoiceDetail, IPurchaseInvoiceDetailService _purchaseInvoiceDetail, IPurchaseReceivalDetailService _purchaseReceivalDetailService) { IList <PurchaseInvoiceDetail> details = _purchaseInvoiceDetail.GetObjectsByPurchaseInvoiceId(purchaseInvoiceDetail.PurchaseInvoiceId); foreach (var detail in details) { if (detail.PurchaseReceivalDetailId == purchaseInvoiceDetail.PurchaseReceivalDetailId && detail.Id != purchaseInvoiceDetail.Id) { purchaseInvoiceDetail.Errors.Add("PurchaseInvoiceDetail", "Tidak boleh memiliki lebih dari 2 Purchase Receival Detail"); } } return(purchaseInvoiceDetail); }
public PurchaseInvoiceDetail VHasPurchaseReceivalDetail(PurchaseInvoiceDetail purchaseInvoiceDetail, IPurchaseReceivalDetailService _purchaseReceivalDetailService) { PurchaseReceivalDetail prd = _purchaseReceivalDetailService.GetObjectById(purchaseInvoiceDetail.PurchaseReceivalDetailId); if (prd == null) { purchaseInvoiceDetail.Errors.Add("PurchaseReceivalDetail", "Tidak boleh tidak ada"); } return(purchaseInvoiceDetail); }
public bool ValidCreateObject(PurchaseInvoiceDetail purchaseInvoiceDetail, IPurchaseInvoiceService _purchaseInvoiceService, IPurchaseInvoiceDetailService _purchaseInvoiceDetailService, IPurchaseReceivalDetailService _purchaseReceivalDetailService) { VCreateObject(purchaseInvoiceDetail, _purchaseInvoiceService, _purchaseInvoiceDetailService, _purchaseReceivalDetailService); return(isValid(purchaseInvoiceDetail)); }
public bool ValidConfirmObject(PurchaseInvoiceDetail purchaseInvoiceDetail, IPurchaseInvoiceDetailService _purchaseInvoiceDetailService, IPurchaseReceivalDetailService _purchaseReceivalDetailService) { purchaseInvoiceDetail.Errors.Clear(); VConfirmObject(purchaseInvoiceDetail, _purchaseInvoiceDetailService, _purchaseReceivalDetailService); return(isValid(purchaseInvoiceDetail)); }
public PurchaseReceival ConfirmObject(PurchaseReceival purchaseReceival, DateTime ConfirmationDate, IPurchaseReceivalDetailService _purchaseReceivalDetailService, IPurchaseOrderService _purchaseOrderService, IPurchaseOrderDetailService _purchaseOrderDetailService, IStockMutationService _stockMutationService, IItemService _itemService, IBarringService _barringService, IWarehouseItemService _warehouseItemService) { purchaseReceival.ConfirmationDate = ConfirmationDate; if (_validator.ValidConfirmObject(purchaseReceival, _purchaseReceivalDetailService)) { IList <PurchaseReceivalDetail> purchaseReceivalDetails = _purchaseReceivalDetailService.GetObjectsByPurchaseReceivalId(purchaseReceival.Id); foreach (var detail in purchaseReceivalDetails) { detail.Errors = new Dictionary <string, string>(); _purchaseReceivalDetailService.ConfirmObject(detail, ConfirmationDate, this, _purchaseOrderDetailService, _stockMutationService, _itemService, _barringService, _warehouseItemService); } _repository.ConfirmObject(purchaseReceival); PurchaseOrder purchaseOrder = _purchaseOrderService.GetObjectById(purchaseReceival.PurchaseOrderId); _purchaseOrderService.CheckAndSetReceivalComplete(purchaseOrder, _purchaseOrderDetailService); } return(purchaseReceival); }
public PurchaseInvoiceDetail VPurchaseReceivalDetailAndPurchaseInvoiceMustHaveTheSamePurchaseReceival(PurchaseInvoiceDetail purchaseInvoiceDetail, IPurchaseReceivalDetailService _purchaseReceivalDetailService, IPurchaseInvoiceService _purchaseInvoiceService) { PurchaseReceivalDetail purchaseReceivalDetail = _purchaseReceivalDetailService.GetObjectById(purchaseInvoiceDetail.PurchaseReceivalDetailId); PurchaseInvoice purchaseInvoice = _purchaseInvoiceService.GetObjectById(purchaseInvoiceDetail.PurchaseInvoiceId); if (purchaseReceivalDetail.PurchaseReceivalId != purchaseInvoice.PurchaseReceivalId) { purchaseReceivalDetail.Errors.Add("Generic", "Purchase receival detail dan purchase invoice memiliki purchase receival berbeda"); } return(purchaseInvoiceDetail); }
public PurchaseInvoice VAllPurchaseInvoiceDetailsAreConfirmable(PurchaseInvoice purchaseInvoice, IPurchaseInvoiceDetailService _purchaseInvoiceDetailService, IPurchaseReceivalDetailService _purchaseReceivalDetailService) { IList <PurchaseInvoiceDetail> details = _purchaseInvoiceDetailService.GetObjectsByPurchaseInvoiceId(purchaseInvoice.Id); foreach (var detail in details) { detail.ConfirmationDate = purchaseInvoice.ConfirmationDate; detail.Errors = new Dictionary <string, string>(); _purchaseInvoiceDetailService.GetValidator().VConfirmObject(detail, _purchaseInvoiceDetailService, _purchaseReceivalDetailService); foreach (var error in detail.Errors) { purchaseInvoice.Errors.Add("Generic", error.Value); } if (!isValid(purchaseInvoice)) { return(purchaseInvoice); } } return(purchaseInvoice); }
public PurchaseInvoiceDetail VQuantityIsLessThanOrEqualPendingInvoiceQuantity(PurchaseInvoiceDetail purchaseInvoiceDetail, IPurchaseReceivalDetailService _purchaseReceivalDetailService) { PurchaseReceivalDetail purchaseReceivalDetail = _purchaseReceivalDetailService.GetObjectById(purchaseInvoiceDetail.PurchaseReceivalDetailId); if (purchaseInvoiceDetail.Quantity > purchaseReceivalDetail.PendingInvoicedQuantity) { purchaseInvoiceDetail.Errors.Add("Generic", "Quantity harus kurang dari atau sama dengan pending invoice quantity"); } return(purchaseInvoiceDetail); }
public PurchaseInvoice VConfirmObject(PurchaseInvoice purchaseInvoice, IPurchaseInvoiceDetailService _purchaseInvoiceDetailService, IPurchaseReceivalService _purchaseReceivalService, IPurchaseReceivalDetailService _purchaseReceivalDetailService) { VHasConfirmationDate(purchaseInvoice); if (!isValid(purchaseInvoice)) { return(purchaseInvoice); } VPurchaseReceivalHasNotBeenInvoiceCompleted(purchaseInvoice, _purchaseReceivalService); if (!isValid(purchaseInvoice)) { return(purchaseInvoice); } VHasNotBeenDeleted(purchaseInvoice); if (!isValid(purchaseInvoice)) { return(purchaseInvoice); } VHasNotBeenConfirmed(purchaseInvoice); if (!isValid(purchaseInvoice)) { return(purchaseInvoice); } VHasPurchaseInvoiceDetails(purchaseInvoice, _purchaseInvoiceDetailService); if (!isValid(purchaseInvoice)) { return(purchaseInvoice); } VAllPurchaseInvoiceDetailsAreConfirmable(purchaseInvoice, _purchaseInvoiceDetailService, _purchaseReceivalDetailService); return(purchaseInvoice); }