public dynamic Insert(CustomPurchaseInvoice model) { try { if (!AuthenticationModel.IsAllowed("Create", Core.Constants.Constant.MenuName.CustomPurchaseInvoice, Core.Constants.Constant.MenuGroupName.Transaction)) { Dictionary <string, string> Errors = new Dictionary <string, string>(); Errors.Add("Generic", "You are Not Allowed to Add record"); return(Json(new { Errors }, JsonRequestBehavior.AllowGet)); } model = _customPurchaseInvoiceService.CreateObject(model, _warehouseService, _contactService, _cashBankService); } catch (Exception ex) { LOG.Error("Insert Failed", ex); Dictionary <string, string> Errors = new Dictionary <string, string>(); Errors.Add("Generic", "Error " + ex); return(Json(new { Errors }, JsonRequestBehavior.AllowGet)); } return(Json(new { model.Errors })); }
public dynamic Delete(CustomPurchaseInvoice model) { try { if (!AuthenticationModel.IsAllowed("Delete", Core.Constants.Constant.MenuName.CustomPurchaseInvoice, Core.Constants.Constant.MenuGroupName.Transaction)) { Dictionary <string, string> Errors = new Dictionary <string, string>(); Errors.Add("Generic", "You are Not Allowed to Delete Record"); return(Json(new { Errors }, JsonRequestBehavior.AllowGet)); } var data = _customPurchaseInvoiceService.GetObjectById(model.Id); model = _customPurchaseInvoiceService.SoftDeleteObject(data, _customPurchaseInvoiceDetailService); } catch (Exception ex) { LOG.Error("Delete Failed", ex); Dictionary <string, string> Errors = new Dictionary <string, string>(); Errors.Add("Generic", "Error " + ex); return(Json(new { Errors }, JsonRequestBehavior.AllowGet)); } return(Json(new { model.Errors })); }
public bool ValidPaidObject(CustomPurchaseInvoice customPurchaseInvoice, ICashBankService _cashBankService, IPaymentVoucherService _paymentVoucherService, IClosingService _closingService) { customPurchaseInvoice.Errors.Clear(); VPaidObject(customPurchaseInvoice, _cashBankService, _paymentVoucherService, _closingService); return(isValid(customPurchaseInvoice)); }
public bool ValidUpdateObject(CustomPurchaseInvoice customPurchaseInvoice, ICustomPurchaseInvoiceDetailService _customPurchaseInvoiceDetailService, IWarehouseService _warehouseService, IContactService _contactService, ICashBankService _cashBankService) { customPurchaseInvoice.Errors.Clear(); VUpdateObject(customPurchaseInvoice, _customPurchaseInvoiceDetailService, _warehouseService, _contactService, _cashBankService); return(isValid(customPurchaseInvoice)); }
public CustomPurchaseInvoice VUnconfirmObject(CustomPurchaseInvoice customPurchaseInvoice, ICustomPurchaseInvoiceDetailService _customPurchaseInvoiceDetailService, IPayableService _payableService, IPaymentVoucherDetailService _paymentVoucherDetailService, IClosingService _closingService) { VIsNotDeleted(customPurchaseInvoice); if (!isValid(customPurchaseInvoice)) { return(customPurchaseInvoice); } VIsConfirmed(customPurchaseInvoice); if (!isValid(customPurchaseInvoice)) { return(customPurchaseInvoice); } VIsNotPaid(customPurchaseInvoice); if (!isValid(customPurchaseInvoice)) { return(customPurchaseInvoice); } VIsUnconfirmableCustomPurchaseInvoiceDetails(customPurchaseInvoice, _customPurchaseInvoiceDetailService); if (!isValid(customPurchaseInvoice)) { return(customPurchaseInvoice); } VHasNoPaymentVoucherDetails(customPurchaseInvoice, _payableService, _paymentVoucherDetailService); if (!isValid(customPurchaseInvoice)) { return(customPurchaseInvoice); } VGeneralLedgerPostingHasNotBeenClosed(customPurchaseInvoice, _closingService, 2); return(customPurchaseInvoice); }
public CustomPurchaseInvoice UnpaidObject(CustomPurchaseInvoice customPurchaseInvoice, IPaymentVoucherService _paymentVoucherService, IPaymentVoucherDetailService _paymentVoucherDetailService, ICashBankService _cashBankService, IPayableService _payableService, ICashMutationService _cashMutationService, IGeneralLedgerJournalService _generalLedgerJournalService, IAccountService _accountService, IClosingService _closingService) { if (_validator.ValidUnpaidObject(customPurchaseInvoice, _closingService)) { Payable payable = _payableService.GetObjectBySource(Core.Constants.Constant.PayableSource.CustomPurchaseInvoice, customPurchaseInvoice.Id); IList <PaymentVoucher> paymentVouchers = _paymentVoucherService.GetObjectsByCashBankId((int)customPurchaseInvoice.CashBankId.GetValueOrDefault()); foreach (var paymentVoucher in paymentVouchers) { if (paymentVoucher.ContactId == customPurchaseInvoice.ContactId) { paymentVoucher.Errors = new Dictionary <string, string>(); _paymentVoucherService.UnconfirmObject(paymentVoucher, _paymentVoucherDetailService, _cashBankService, _payableService, _cashMutationService, _generalLedgerJournalService, _accountService, _closingService); IList <PaymentVoucherDetail> paymentVoucherDetails = _paymentVoucherDetailService.GetObjectsByPaymentVoucherId(paymentVoucher.Id); foreach (var paymentVoucherDetail in paymentVoucherDetails) { paymentVoucherDetail.Errors = new Dictionary <string, string>(); _paymentVoucherDetailService.SoftDeleteObject(paymentVoucherDetail); } _paymentVoucherService.SoftDeleteObject(paymentVoucher, _paymentVoucherDetailService); } } customPurchaseInvoice.AmountPaid = 0; customPurchaseInvoice.IsFullPayment = false; _generalLedgerJournalService.CreateUnpaidJournalForCustomPurchaseInvoice(customPurchaseInvoice, _accountService); customPurchaseInvoice = _repository.UnpaidObject(customPurchaseInvoice); } return(customPurchaseInvoice); }
public bool ValidUnconfirmObject(CustomPurchaseInvoice customPurchaseInvoice, ICustomPurchaseInvoiceDetailService _customPurchaseInvoiceDetailService, IPayableService _payableService, IPaymentVoucherDetailService _paymentVoucherDetailService, IClosingService _closingService) { customPurchaseInvoice.Errors.Clear(); VUnconfirmObject(customPurchaseInvoice, _customPurchaseInvoiceDetailService, _payableService, _paymentVoucherDetailService, _closingService); return(isValid(customPurchaseInvoice)); }
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 CustomPurchaseInvoice VIsValidDiscount(CustomPurchaseInvoice customPurchaseInvoice) { if (customPurchaseInvoice.Discount < 0 || customPurchaseInvoice.Discount > 100) { customPurchaseInvoice.Errors.Add("Discount", "Harus diantara 0 sampai 100"); } return(customPurchaseInvoice); }
public CustomPurchaseInvoice VIsNotDeleted(CustomPurchaseInvoice customPurchaseInvoice) { if (customPurchaseInvoice.IsDeleted) { customPurchaseInvoice.Errors.Add("Generic", "CustomPurchaseInvoice tidak boleh terhapus"); } return(customPurchaseInvoice); }
public CustomPurchaseInvoice VIsValidFullPayment(CustomPurchaseInvoice customPurchaseInvoice) { if (customPurchaseInvoice.AmountPaid != customPurchaseInvoice.Total) { customPurchaseInvoice.Errors.Add("AmountPaid", "Harus sama dengan Total Payable"); } return(customPurchaseInvoice); }
public CustomPurchaseInvoice VIsValidAmountPaid(CustomPurchaseInvoice customPurchaseInvoice) { if (customPurchaseInvoice.AmountPaid > customPurchaseInvoice.Total) { customPurchaseInvoice.Errors.Add("AmountPaid", "Harus lebih kecil atau sama dengan Total Payable"); } return(customPurchaseInvoice); }
public CustomPurchaseInvoice VIsValidGBCH_DueDate(CustomPurchaseInvoice customPurchaseInvoice) { if (customPurchaseInvoice.IsGBCH && (customPurchaseInvoice.GBCH_DueDate == null || customPurchaseInvoice.GBCH_DueDate.Equals(DateTime.FromBinary(0)))) { customPurchaseInvoice.Errors.Add("GBCH_DueDate", "Tidak ada"); } return(customPurchaseInvoice); }
public CustomPurchaseInvoice VIsValidGBCH_No(CustomPurchaseInvoice customPurchaseInvoice) { if (customPurchaseInvoice.IsGBCH && customPurchaseInvoice.GBCH_No.Trim() == "") { customPurchaseInvoice.Errors.Add("GBCH_No", "Tidak ada"); } return(customPurchaseInvoice); }
public CustomPurchaseInvoice VIsConfirmed(CustomPurchaseInvoice customPurchaseInvoice) { if (!customPurchaseInvoice.IsConfirmed) { customPurchaseInvoice.Errors.Add("Generic", "CustomPurchaseInvoice tidak terkonfirmasi"); } return(customPurchaseInvoice); }
public CustomPurchaseInvoice VIsPaid(CustomPurchaseInvoice customPurchaseInvoice) { if (!customPurchaseInvoice.IsPaid) { customPurchaseInvoice.Errors.Add("Generic", "CustomPurchaseInvoice belum dibayar"); } return(customPurchaseInvoice); }
public CustomPurchaseInvoice VIsNotPaid(CustomPurchaseInvoice customPurchaseInvoice) { if (customPurchaseInvoice.IsPaid) { customPurchaseInvoice.Errors.Add("Generic", "CustomPurchaseInvoice sudah terbayar"); } return(customPurchaseInvoice); }
public CustomPurchaseInvoice VHasPurchaseDate(CustomPurchaseInvoice customPurchaseInvoice) { if (customPurchaseInvoice.PurchaseDate == null || customPurchaseInvoice.PurchaseDate.Equals(DateTime.FromBinary(0))) { customPurchaseInvoice.Errors.Add("PurchaseDate", "Tidak ada"); } return(customPurchaseInvoice); }
public CustomPurchaseInvoice VIsValidTax(CustomPurchaseInvoice customPurchaseInvoice) { if (customPurchaseInvoice.Tax < 0 || customPurchaseInvoice.Tax > 100) { customPurchaseInvoice.Errors.Add("Tax", "Harus diantara 0 sampai 100"); } return(customPurchaseInvoice); }
public bool ValidConfirmObject(CustomPurchaseInvoice customPurchaseInvoice, ICustomPurchaseInvoiceDetailService _customPurchaseInvoiceDetailService, ICustomPurchaseInvoiceService _customPurchaseInvoiceService, IWarehouseItemService _warehouseItemService, IContactService _contactService, IClosingService _closingService) { customPurchaseInvoice.Errors.Clear(); VConfirmObject(customPurchaseInvoice, _customPurchaseInvoiceDetailService, _customPurchaseInvoiceService, _warehouseItemService, _contactService, _closingService); return(isValid(customPurchaseInvoice)); }
public CustomPurchaseInvoice VHasNoCustomPurchaseInvoiceDetails(CustomPurchaseInvoice customPurchaseInvoice, ICustomPurchaseInvoiceDetailService _customPurchaseInvoiceDetailService) { IList <CustomPurchaseInvoiceDetail> customPurchaseInvoiceDetails = _customPurchaseInvoiceDetailService.GetObjectsByCustomPurchaseInvoiceId(customPurchaseInvoice.Id); if (customPurchaseInvoiceDetails.Any()) { customPurchaseInvoice.Errors.Add("Generic", "Tidak boleh terasosiasi dengan CustomPurchaseInvoiceDetails"); } return(customPurchaseInvoice); }
public CustomPurchaseInvoice VHasContact(CustomPurchaseInvoice customPurchaseInvoice, IContactService _contactService) { Contact contact = _contactService.GetObjectById(customPurchaseInvoice.ContactId); if (contact == null) { customPurchaseInvoice.Errors.Add("Contact", "Tidak valid"); } return(customPurchaseInvoice); }
public CustomPurchaseInvoice VHasWarehouse(CustomPurchaseInvoice customPurchaseInvoice, IWarehouseService _warehouseService) { Warehouse warehouse = _warehouseService.GetObjectById(customPurchaseInvoice.WarehouseId); if (warehouse == null) { customPurchaseInvoice.Errors.Add("WarehouseId", "Tidak valid"); } return(customPurchaseInvoice); }
public CustomPurchaseInvoice VHasCashBank(CustomPurchaseInvoice customPurchaseInvoice, ICashBankService _cashBankService) { CashBank cashBank = _cashBankService.GetObjectById((int)customPurchaseInvoice.CashBankId.GetValueOrDefault()); if (cashBank == null) { customPurchaseInvoice.Errors.Add("CashBankId", "Tidak valid"); } return(customPurchaseInvoice); }
public CustomPurchaseInvoice VHasCustomPurchaseInvoiceDetails(CustomPurchaseInvoice customPurchaseInvoice, ICustomPurchaseInvoiceDetailService _customPurchaseInvoiceDetailService) { IList <CustomPurchaseInvoiceDetail> customPurchaseInvoiceDetails = _customPurchaseInvoiceDetailService.GetObjectsByCustomPurchaseInvoiceId(customPurchaseInvoice.Id); if (!customPurchaseInvoiceDetails.Any()) { customPurchaseInvoice.Errors.Add("Generic", "Tidak ada retail purchase invoice details"); } return(customPurchaseInvoice); }
public CustomPurchaseInvoice VUnpaidObject(CustomPurchaseInvoice customPurchaseInvoice, IClosingService _closingService) { VIsPaid(customPurchaseInvoice); if (!isValid(customPurchaseInvoice)) { return(customPurchaseInvoice); } VGeneralLedgerPostingHasNotBeenClosed(customPurchaseInvoice, _closingService, 4); return(customPurchaseInvoice); }
public CustomPurchaseInvoiceDetail VHasCustomPurchaseInvoice(CustomPurchaseInvoiceDetail customPurchaseInvoiceDetail, ICustomPurchaseInvoiceService _customPurchaseInvoiceService) { CustomPurchaseInvoice customPurchaseInvoice = _customPurchaseInvoiceService.GetObjectById(customPurchaseInvoiceDetail.CustomPurchaseInvoiceId); if (customPurchaseInvoice == null) { customPurchaseInvoiceDetail.Errors.Add("CustomPurchaseInvoiceId", "Tidak valid"); } return(customPurchaseInvoiceDetail); }
public CustomPurchaseInvoice VIsCashBankTypeBank(CustomPurchaseInvoice customPurchaseInvoice, ICashBankService _cashBankService) { CashBank cashBank = _cashBankService.GetObjectById((int)customPurchaseInvoice.CashBankId.GetValueOrDefault()); if (!cashBank.IsBank) { customPurchaseInvoice.Errors.Add("Generic", "CashBank bukan tipe Bank"); return(customPurchaseInvoice); } return(customPurchaseInvoice); }
public CustomPurchaseInvoiceDetail SoftDeleteObject(CustomPurchaseInvoiceDetail customPurchaseInvoiceDetail, ICustomPurchaseInvoiceService _customPurchaseInvoiceService) { if (_validator.ValidDeleteObject(customPurchaseInvoiceDetail, _customPurchaseInvoiceService)) { CustomPurchaseInvoice customPurchaseInvoice = _customPurchaseInvoiceService.GetObjectById(customPurchaseInvoiceDetail.CustomPurchaseInvoiceId); _repository.SoftDeleteObject(customPurchaseInvoiceDetail); customPurchaseInvoice.Total = CalculateTotal(customPurchaseInvoiceDetail.CustomPurchaseInvoiceId); customPurchaseInvoice.CoGS = CalculateCoGS(customPurchaseInvoiceDetail.CustomPurchaseInvoiceId); _customPurchaseInvoiceService.GetRepository().Update(customPurchaseInvoice); } return(customPurchaseInvoiceDetail); }
public CustomPurchaseInvoice VHasConfirmationDate(CustomPurchaseInvoice customPurchaseInvoice) { if (customPurchaseInvoice.ConfirmationDate == null || customPurchaseInvoice.ConfirmationDate.Equals(DateTime.FromBinary(0))) { customPurchaseInvoice.Errors.Add("ConfirmationDate", "Tidak ada"); } //else if (customPurchaseInvoice.ConfirmationDate.GetValueOrDefault().Date.AddDays(1) < customPurchaseInvoice.PurchaseDate.Date) //{ // customPurchaseInvoice.Errors.Add("ConfirmationDate", "Harus lebih besar atau sama dengan Purchase Date"); //} return(customPurchaseInvoice); }