public CashSalesReturn VPaidObject(CashSalesReturn cashSalesReturn, ICashBankService _cashBankService) { VIsNotPaid(cashSalesReturn); if (!isValid(cashSalesReturn)) { return(cashSalesReturn); } VIsConfirmed(cashSalesReturn); if (!isValid(cashSalesReturn)) { return(cashSalesReturn); } VHasCashBank(cashSalesReturn, _cashBankService); //if (!isValid(cashSalesReturn)) { return cashSalesReturn; } //VIsCashBankTypeNotBank(cashSalesReturn, _cashBankService); if (!isValid(cashSalesReturn)) { return(cashSalesReturn); } VIsValidTotal(cashSalesReturn); if (!isValid(cashSalesReturn)) { return(cashSalesReturn); } VIsValidAllowance(cashSalesReturn); return(cashSalesReturn); }
public CashSalesReturn UnpaidObject(CashSalesReturn cashSalesReturn, IPaymentVoucherService _paymentVoucherService, IPaymentVoucherDetailService _paymentVoucherDetailService, ICashBankService _cashBankService, IPayableService _payableService, ICashMutationService _cashMutationService, IGeneralLedgerJournalService _generalLedgerJournalService, IAccountService _accountService, IClosingService _closingService) { if (_validator.ValidUnpaidObject(cashSalesReturn)) { Payable payable = _payableService.GetObjectBySource(Core.Constants.Constant.PayableSource.CashSalesReturn, cashSalesReturn.Id); IList <PaymentVoucher> paymentVouchers = _paymentVoucherService.GetObjectsByCashBankId((int)cashSalesReturn.CashBankId.GetValueOrDefault()); foreach (var paymentVoucher in paymentVouchers) { if (paymentVoucher.ContactId == payable.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); } } payable.AllowanceAmount = 0; _payableService.UpdateObject(payable); cashSalesReturn.Allowance = 0; cashSalesReturn = _repository.UnpaidObject(cashSalesReturn); } return(cashSalesReturn); }
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 CashSalesReturn VUnconfirmObject(CashSalesReturn cashSalesReturn, ICashSalesReturnDetailService _cashSalesReturnDetailService, IPayableService _payableService, IPaymentVoucherDetailService _paymentVoucherDetailService) { VIsNotDeleted(cashSalesReturn); if (!isValid(cashSalesReturn)) { return(cashSalesReturn); } VIsConfirmed(cashSalesReturn); if (!isValid(cashSalesReturn)) { return(cashSalesReturn); } VIsNotPaid(cashSalesReturn); if (!isValid(cashSalesReturn)) { return(cashSalesReturn); } VHasNoPaymentVoucherDetails(cashSalesReturn, _payableService, _paymentVoucherDetailService); if (!isValid(cashSalesReturn)) { return(cashSalesReturn); } VIsUnconfirmableCashSalesReturnDetails(cashSalesReturn, _cashSalesReturnDetailService); return(cashSalesReturn); }
public bool ValidConfirmObject(CashSalesReturn cashSalesReturn, ICashSalesReturnDetailService _cashSalesReturnDetailService, ICashSalesReturnService _cashSalesReturnService, ICashSalesInvoiceService _cashSalesInvoiceService, ICashSalesInvoiceDetailService _cashSalesInvoiceDetailService) { cashSalesReturn.Errors.Clear(); VConfirmObject(cashSalesReturn, _cashSalesReturnDetailService, _cashSalesReturnService, _cashSalesInvoiceService, _cashSalesInvoiceDetailService); return(isValid(cashSalesReturn)); }
public dynamic GetInfo(int Id) { CashSalesReturn model = new CashSalesReturn(); try { model = _cashSalesReturnService.GetObjectById(Id); } catch (Exception ex) { LOG.Error("GetInfo", ex); Dictionary <string, string> Errors = new Dictionary <string, string>(); Errors.Add("Generic", "Error " + ex); return(Json(new { Errors }, JsonRequestBehavior.AllowGet)); } return(Json(new { model.Id, model.Code, model.Description, model.ReturnDate, model.Allowance, model.Total, model.CashBankId, CashBank = _cashBankService.GetObjectById((int)model.CashBankId.GetValueOrDefault()).Name, model.CashSalesInvoiceId, CashSalesInvoice = _cashSalesInvoiceService.GetObjectById(model.CashSalesInvoiceId).Code, model.Errors }, JsonRequestBehavior.AllowGet)); }
public bool ValidUnconfirmObject(CashSalesReturn cashSalesReturn, ICashSalesReturnDetailService _cashSalesReturnDetailService, IPayableService _payableService, IPaymentVoucherDetailService _paymentVoucherDetailService) { cashSalesReturn.Errors.Clear(); VUnconfirmObject(cashSalesReturn, _cashSalesReturnDetailService, _payableService, _paymentVoucherDetailService); return(isValid(cashSalesReturn)); }
public dynamic Delete(CashSalesReturn model) { try { if (!AuthenticationModel.IsAllowed("Delete", Core.Constants.Constant.MenuName.CashSalesReturn, 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 = _cashSalesReturnService.GetObjectById(model.Id); model = _cashSalesReturnService.SoftDeleteObject(data, _cashSalesReturnDetailService); } 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 dynamic Insert(CashSalesReturn model) { try { if (!AuthenticationModel.IsAllowed("Create", Core.Constants.Constant.MenuName.CashSalesReturn, 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 = _cashSalesReturnService.CreateObject(model, _cashSalesInvoiceService, _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 CashSalesReturn VConfirmObject(CashSalesReturn cashSalesReturn, ICashSalesReturnDetailService _cashSalesReturnDetailService, ICashSalesReturnService _cashSalesReturnService, ICashSalesInvoiceService _cashSalesInvoiceService, ICashSalesInvoiceDetailService _cashSalesInvoiceDetailService) { VIsNotConfirmed(cashSalesReturn); if (!isValid(cashSalesReturn)) { return(cashSalesReturn); } VIsValidCashSalesInvoice(cashSalesReturn, _cashSalesInvoiceService); if (!isValid(cashSalesReturn)) { return(cashSalesReturn); } VHasCashSalesReturnDetails(cashSalesReturn, _cashSalesReturnDetailService); if (!isValid(cashSalesReturn)) { return(cashSalesReturn); } VIsConfirmableCashSalesReturnDetails(cashSalesReturn, _cashSalesReturnDetailService, _cashSalesInvoiceDetailService); if (!isValid(cashSalesReturn)) { return(cashSalesReturn); } return(cashSalesReturn); }
public CashSalesReturn VIsConfirmed(CashSalesReturn cashSalesReturn) { if (!cashSalesReturn.IsConfirmed) { cashSalesReturn.Errors.Add("Generic", "CashSalesReturn tidak terkonfirmasi"); } return(cashSalesReturn); }
public CashSalesReturn VIsValidTotal(CashSalesReturn cashSalesReturn) { if (cashSalesReturn.Allowance < 0) { cashSalesReturn.Errors.Add("Total", "Harus lebih besar atau sama dengan 0"); } return(cashSalesReturn); }
public CashSalesReturn VIsNotDeleted(CashSalesReturn cashSalesReturn) { if (cashSalesReturn.IsDeleted) { cashSalesReturn.Errors.Add("Generic", "CashSalesReturn tidak boleh terhapus"); } return(cashSalesReturn); }
public CashSalesReturn VHasReturnDate(CashSalesReturn cashSalesReturn) { if (cashSalesReturn.ReturnDate == null || cashSalesReturn.ReturnDate.Equals(DateTime.FromBinary(0))) { cashSalesReturn.Errors.Add("ReturnDate", "Tidak ada"); } return(cashSalesReturn); }
public CashSalesReturn VIsValidAllowance(CashSalesReturn cashSalesReturn) { if (cashSalesReturn.Allowance < 0 || cashSalesReturn.Allowance > cashSalesReturn.Total) { cashSalesReturn.Errors.Add("Allowance", "Harus diantara 0 sampai Total"); } return(cashSalesReturn); }
public CashSalesReturn VIsPaid(CashSalesReturn cashSalesReturn) { if (!cashSalesReturn.IsPaid) { cashSalesReturn.Errors.Add("Generic", "CashSalesReturn belum dibayar"); } return(cashSalesReturn); }
public CashSalesReturn VIsNotPaid(CashSalesReturn cashSalesReturn) { if (cashSalesReturn.IsPaid) { cashSalesReturn.Errors.Add("Generic", "CashSalesReturn sudah terbayar"); } return(cashSalesReturn); }
public CashSalesReturn VHasCashBank(CashSalesReturn cashSalesReturn, ICashBankService _cashBankService) { CashBank cashBank = _cashBankService.GetObjectById((int)cashSalesReturn.CashBankId.GetValueOrDefault()); if (cashBank == null) { cashSalesReturn.Errors.Add("CashBankId", "Tidak valid"); } return(cashSalesReturn); }
public CashSalesReturnDetail VHasCashSalesReturn(CashSalesReturnDetail cashSalesReturnDetail, ICashSalesReturnService _cashSalesReturnService) { CashSalesReturn cashSalesReturn = _cashSalesReturnService.GetObjectById(cashSalesReturnDetail.CashSalesReturnId); if (cashSalesReturn == null) { cashSalesReturnDetail.Errors.Add("CashSalesReturnId", "Tidak valid"); } return(cashSalesReturnDetail); }
public CashSalesReturn VHasCashSalesInvoice(CashSalesReturn cashSalesReturn, ICashSalesInvoiceService _cashSalesInvoiceService) { CashSalesInvoice cashSalesInvoice = _cashSalesInvoiceService.GetObjectById(cashSalesReturn.CashSalesInvoiceId); if (cashSalesInvoice == null) { cashSalesReturn.Errors.Add("CashSalesInvoiceId", "Tidak valid"); } return(cashSalesReturn); }
public CashSalesReturn VHasCashSalesReturnDetails(CashSalesReturn cashSalesReturn, ICashSalesReturnDetailService _cashSalesReturnDetailService) { IList <CashSalesReturnDetail> cashSalesReturnDetails = _cashSalesReturnDetailService.GetObjectsByCashSalesReturnId(cashSalesReturn.Id); if (!cashSalesReturnDetails.Any()) { cashSalesReturn.Errors.Add("Generic", "CashSalesReturnDetils Tidak ada"); } return(cashSalesReturn); }
public CashSalesReturn VHasNoCashSalesReturnDetails(CashSalesReturn cashSalesReturn, ICashSalesReturnDetailService _cashSalesReturnDetailService) { IList <CashSalesReturnDetail> cashSalesReturnDetails = _cashSalesReturnDetailService.GetObjectsByCashSalesReturnId(cashSalesReturn.Id); if (cashSalesReturnDetails.Any()) { cashSalesReturn.Errors.Add("Generic", "Tidak boleh terasosiasi dengan CashSalesReturnDetails"); } return(cashSalesReturn); }
public CashSalesReturnDetail SoftDeleteObject(CashSalesReturnDetail cashSalesReturnDetail, ICashSalesReturnService _cashSalesReturnService) { if (_validator.ValidDeleteObject(cashSalesReturnDetail, _cashSalesReturnService)) { CashSalesReturn cashSalesReturn = _cashSalesReturnService.GetObjectById(cashSalesReturnDetail.CashSalesReturnId); _repository.SoftDeleteObject(cashSalesReturnDetail); cashSalesReturn.Total = CalculateTotal(cashSalesReturn.Id); _cashSalesReturnService.GetRepository().Update(cashSalesReturn); } return(cashSalesReturnDetail); }
public CashSalesReturn VHasConfirmationDate(CashSalesReturn cashSalesReturn) { if (cashSalesReturn.ConfirmationDate == null || cashSalesReturn.ConfirmationDate.Equals(DateTime.FromBinary(0))) { cashSalesReturn.Errors.Add("ConfirmationDate", "Tidak ada"); } //else if (cashSalesReturn.ConfirmationDate.GetValueOrDefault().Date.AddDays(1) < cashSalesReturn.ReturnDate.GetValueOrDefault().Date) //{ // cashSalesReturn.Errors.Add("ConfirmationDate", "Harus lebih besar atau sama dengan Return Date"); //} return(cashSalesReturn); }
public string PrintError(CashSalesReturn obj) { string erroroutput = ""; KeyValuePair <string, string> first = obj.Errors.ElementAt(0); erroroutput += first.Key + "," + first.Value; foreach (KeyValuePair <string, string> pair in obj.Errors.Skip(1)) { erroroutput += Environment.NewLine; erroroutput += pair.Key + "," + pair.Value; } return(erroroutput); }
public CashSalesReturn VIsValidCashSalesInvoice(CashSalesReturn cashSalesReturn, ICashSalesInvoiceService _cashSalesInvoiceService) { CashSalesInvoice cashSalesInvoice = _cashSalesInvoiceService.GetObjectById(cashSalesReturn.CashSalesInvoiceId); if (cashSalesInvoice == null) { cashSalesReturn.Errors.Add("Generic", "CashSalesInvoice Tidak valid"); } else if (!(cashSalesInvoice.IsConfirmed && cashSalesInvoice.IsPaid)) { cashSalesReturn.Errors.Add("Generic", "CashSalesInvoice Harus sudah terkonfirmasi dan terbayar"); } return(cashSalesReturn); }
public CashSalesReturnDetail UpdateObject(CashSalesReturnDetail cashSalesReturnDetail, ICashSalesReturnService _cashSalesReturnService, ICashSalesInvoiceDetailService _cashSalesInvoiceDetailService) { if (_validator.ValidUpdateObject(cashSalesReturnDetail, _cashSalesReturnService, this, _cashSalesInvoiceDetailService)) { CashSalesReturn cashSalesReturn = _cashSalesReturnService.GetObjectById(cashSalesReturnDetail.CashSalesReturnId); CashSalesInvoiceDetail cashSalesInvoiceDetail = _cashSalesInvoiceDetailService.GetObjectById(cashSalesReturnDetail.CashSalesInvoiceDetailId); cashSalesReturnDetail.TotalPrice = (cashSalesInvoiceDetail.Amount / cashSalesInvoiceDetail.Quantity) * cashSalesReturnDetail.Quantity; cashSalesReturnDetail = _repository.UpdateObject(cashSalesReturnDetail); cashSalesReturn.Total = CalculateTotal(cashSalesReturn.Id); _cashSalesReturnService.GetRepository().Update(cashSalesReturn); } return(cashSalesReturnDetail); }
/*public CashSalesReturn VIsCashBankTypeNotBank(CashSalesReturn cashSalesReturn, ICashBankService _cashBankService) * { * CashBank cashBank = _cashBankService.GetObjectById((int)cashSalesReturn.CashBankId.GetValueOrDefault()); * if (cashBank.IsBank) * { * cashSalesReturn.Errors.Add("Generic", "CashBank harus bukan tipe Bank"); * return cashSalesReturn; * } * return cashSalesReturn; * }*/ public CashSalesReturn VHasNoPaymentVoucherDetails(CashSalesReturn cashSalesReturn, IPayableService _payableService, IPaymentVoucherDetailService _paymentVoucherDetailService) { Payable payable = _payableService.GetObjectBySource(Core.Constants.Constant.PayableSource.CashSalesReturn, cashSalesReturn.Id); if (payable != null) { IList <PaymentVoucherDetail> paymentVoucherDetails = _paymentVoucherDetailService.GetObjectsByPayableId(payable.Id); if (paymentVoucherDetails.Any()) { cashSalesReturn.Errors.Add("Generic", "Tidak boleh terasosiasi dengan PaymentVoucherDetails"); } } return(cashSalesReturn); }
public CashSalesReturn VDeleteObject(CashSalesReturn cashSalesReturn, ICashSalesReturnDetailService _cashSalesReturnDetailService) { VIsNotDeleted(cashSalesReturn); if (!isValid(cashSalesReturn)) { return(cashSalesReturn); } VIsNotConfirmed(cashSalesReturn); if (!isValid(cashSalesReturn)) { return(cashSalesReturn); } VHasNoCashSalesReturnDetails(cashSalesReturn, _cashSalesReturnDetailService); return(cashSalesReturn); }
public CashSalesReturn VUpdateObject(CashSalesReturn cashSalesReturn, ICashSalesInvoiceService _cashSalesInvoiceService, ICashBankService _cashBankService) { VIsNotDeleted(cashSalesReturn); if (!isValid(cashSalesReturn)) { return(cashSalesReturn); } VIsNotConfirmed(cashSalesReturn); if (!isValid(cashSalesReturn)) { return(cashSalesReturn); } VCreateObject(cashSalesReturn, _cashSalesInvoiceService, _cashBankService); return(cashSalesReturn); }