public dynamic GetInfoDetail(int Id) { CashSalesReturnDetail model = new CashSalesReturnDetail(); try { model = _cashSalesReturnDetailService.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.CashSalesReturnId, CashSalesReturn = _cashSalesReturnService.GetObjectById(model.CashSalesReturnId).Code, model.CashSalesInvoiceDetailId, CashSalesInvoiceDetail = _cashSalesInvoiceDetailService.GetObjectById(model.CashSalesInvoiceDetailId).Code, _cashSalesInvoiceDetailService.GetObjectById(model.CashSalesInvoiceDetailId).ItemId, _itemService.GetObjectById(_cashSalesInvoiceDetailService.GetObjectById(model.CashSalesInvoiceDetailId).ItemId).Name, model.Quantity, model.Errors }, JsonRequestBehavior.AllowGet)); }
public CashSalesReturnDetail VCreateObject(CashSalesReturnDetail cashSalesReturnDetail, ICashSalesReturnService _cashSalesReturnService, ICashSalesReturnDetailService _cashSalesReturnDetailService, ICashSalesInvoiceDetailService _cashSalesInvoiceDetailService) { VIsParentNotConfirmed(cashSalesReturnDetail, _cashSalesReturnService); if (!isValid(cashSalesReturnDetail)) { return(cashSalesReturnDetail); } VHasCashSalesReturn(cashSalesReturnDetail, _cashSalesReturnService); if (!isValid(cashSalesReturnDetail)) { return(cashSalesReturnDetail); } VIsValidCashSalesInvoiceDetail(cashSalesReturnDetail, _cashSalesInvoiceDetailService, _cashSalesReturnService); if (!isValid(cashSalesReturnDetail)) { return(cashSalesReturnDetail); } VIsValidQuantity(cashSalesReturnDetail, _cashSalesInvoiceDetailService, _cashSalesReturnDetailService); if (!isValid(cashSalesReturnDetail)) { return(cashSalesReturnDetail); } VConfirmObject(cashSalesReturnDetail, _cashSalesInvoiceDetailService, _cashSalesReturnDetailService); //if (!isValid(cashSalesReturnDetail)) { return cashSalesReturnDetail; } //VIsValidTotalPrice(cashSalesReturnDetail, _cashSalesInvoiceDetailService); return(cashSalesReturnDetail); }
public bool ValidUpdateObject(CashSalesReturnDetail cashSalesReturnDetail, ICashSalesReturnService _cashSalesReturnService, ICashSalesReturnDetailService _cashSalesReturnDetailService, ICashSalesInvoiceDetailService _cashSalesInvoiceDetailService) { cashSalesReturnDetail.Errors.Clear(); VUpdateObject(cashSalesReturnDetail, _cashSalesReturnService, _cashSalesReturnDetailService, _cashSalesInvoiceDetailService); return(isValid(cashSalesReturnDetail)); }
public CashSalesReturnDetail VUpdateObject(CashSalesReturnDetail cashSalesReturnDetail, ICashSalesReturnService _cashSalesReturnService, ICashSalesReturnDetailService _cashSalesReturnDetailService, ICashSalesInvoiceDetailService _cashSalesInvoiceDetailService) { //VIsParentNotConfirmed(cashSalesReturnDetail, _cashSalesReturnService); //if (!isValid(cashSalesReturnDetail)) { return cashSalesReturnDetail; } return(VCreateObject(cashSalesReturnDetail, _cashSalesReturnService, _cashSalesReturnDetailService, _cashSalesInvoiceDetailService)); }
public CashSalesReturnDetail VDeleteObject(CashSalesReturnDetail cashSalesReturnDetail, ICashSalesReturnService _cashSalesReturnService) { VIsParentNotConfirmed(cashSalesReturnDetail, _cashSalesReturnService); if (!isValid(cashSalesReturnDetail)) { return(cashSalesReturnDetail); } return(cashSalesReturnDetail); }
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 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 CashSalesReturnDetail VIsValidQuantity(CashSalesReturnDetail cashSalesReturnDetail, ICashSalesInvoiceDetailService _cashSalesInvoiceDetailService, ICashSalesReturnDetailService _cashSalesReturnDetailService) { CashSalesInvoiceDetail cashSalesInvoiceDetail = _cashSalesInvoiceDetailService.GetObjectById(cashSalesReturnDetail.CashSalesInvoiceDetailId); if (cashSalesReturnDetail.Quantity <= 0 || _cashSalesReturnDetailService.GetTotalQuantityByCashSalesInvoiceDetailId(cashSalesReturnDetail.CashSalesInvoiceDetailId) > cashSalesInvoiceDetail.Quantity) { cashSalesReturnDetail.Errors.Add("Quantity", "Quantity harus lebih besar dari 0 dan lebih kecil atau sama dengan CashSalesInvoiceDetail Quantity"); return(cashSalesReturnDetail); } return(cashSalesReturnDetail); }
public string PrintError(CashSalesReturnDetail 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 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 CashSalesReturnDetail CreateObject(CashSalesReturnDetail cashSalesReturnDetail, ICashSalesReturnService _cashSalesReturnService, ICashSalesInvoiceDetailService _cashSalesInvoiceDetailService) { cashSalesReturnDetail.Errors = new Dictionary <String, String>(); if (_validator.ValidCreateObject(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.CreateObject(cashSalesReturnDetail); cashSalesReturn.Total = CalculateTotal(cashSalesReturn.Id); _cashSalesReturnService.GetRepository().Update(cashSalesReturn); } return(cashSalesReturnDetail); }
public CashSalesReturnDetail VIsParentNotConfirmed(CashSalesReturnDetail cashSalesReturnDetail, ICashSalesReturnService _cashSalesReturnService) { CashSalesReturn cashSalesReturn = _cashSalesReturnService.GetObjectById(cashSalesReturnDetail.CashSalesReturnId); if (cashSalesReturn != null) { if (cashSalesReturn.IsConfirmed) { cashSalesReturnDetail.Errors.Add("Generic", "CashSalesReturn tidak boleh terkonfirmasi"); } } else { cashSalesReturnDetail.Errors.Add("Generic", "CashSalesReturn tidak ada"); } return(cashSalesReturnDetail); }
public CashSalesReturnDetail VIsValidCashSalesInvoiceDetail(CashSalesReturnDetail cashSalesReturnDetail, ICashSalesInvoiceDetailService _cashSalesInvoiceDetailService, ICashSalesReturnService _cashSalesReturnService) { CashSalesInvoiceDetail cashSalesInvoiceDetail = _cashSalesInvoiceDetailService.GetObjectById(cashSalesReturnDetail.CashSalesInvoiceDetailId); CashSalesReturn cashSalesReturn = _cashSalesReturnService.GetObjectById(cashSalesReturnDetail.CashSalesReturnId); if (cashSalesInvoiceDetail == null) { cashSalesReturnDetail.Errors.Add("CashSalesInvoiceDetailId", "Tidak valid"); } else if (cashSalesReturn == null) { cashSalesReturnDetail.Errors.Add("CashSalesReturnId", "Tidak valid"); } else if (cashSalesInvoiceDetail.CashSalesInvoiceId != cashSalesReturn.CashSalesInvoiceId) { cashSalesReturnDetail.Errors.Add("CashSalesInvoiceId", "Tidak sama"); } return(cashSalesReturnDetail); }
public dynamic UpdateDetail(CashSalesReturnDetail model) { decimal total = 0; try { if (!AuthenticationModel.IsAllowed("Edit", 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 Edit record"); return(Json(new { Errors }, JsonRequestBehavior.AllowGet)); } var data = _cashSalesReturnDetailService.GetObjectById(model.Id); data.CashSalesInvoiceDetailId = model.CashSalesInvoiceDetailId; data.Quantity = model.Quantity; data.CashSalesReturnId = model.CashSalesReturnId; model = _cashSalesReturnDetailService.UpdateObject(data, _cashSalesReturnService, _cashSalesInvoiceDetailService); total = _cashSalesReturnService.GetObjectById(model.CashSalesReturnId).Total; } catch (Exception ex) { LOG.Error("Update 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, Total = total })); }
public CashSalesReturnDetail UnconfirmObject(CashSalesReturnDetail cashSalesReturnDetail, ICashSalesInvoiceDetailService _cashSalesInvoiceDetailService, IWarehouseItemService _warehouseItemService, IWarehouseService _warehouseService, IItemService _itemService, IBarringService _barringService, IStockMutationService _stockMutationService) { if (_validator.ValidUnconfirmObject(cashSalesReturnDetail)) { CashSalesInvoiceDetail cashSalesInvoiceDetail = _cashSalesInvoiceDetailService.GetObjectById(cashSalesReturnDetail.CashSalesInvoiceDetailId); Item item = _itemService.GetObjectById(cashSalesInvoiceDetail.ItemId); IList <StockMutation> stockMutations = _stockMutationService.GetObjectsBySourceDocumentDetailForItem(cashSalesInvoiceDetail.ItemId, Core.Constants.Constant.SourceDocumentDetailType.CashSalesReturnDetail, cashSalesReturnDetail.Id); foreach (var stockMutation in stockMutations) { stockMutation.Errors = new Dictionary <string, string>(); _stockMutationService.ReverseStockMutateObject(stockMutation, _itemService, _barringService, _warehouseItemService); _stockMutationService.SoftDeleteObject(stockMutation, _warehouseService, _warehouseItemService, _itemService, _barringService); } item.AvgPrice = _itemService.CalculateAndUpdateAvgPrice(item, cashSalesReturnDetail.Quantity * (-1), (cashSalesInvoiceDetail.CoGS / cashSalesInvoiceDetail.Quantity)); cashSalesReturnDetail = _repository.UnconfirmObject(cashSalesReturnDetail); } return(cashSalesReturnDetail); }
public CashSalesReturnDetail ConfirmObject(CashSalesReturnDetail cashSalesReturnDetail, ICashSalesReturnService _cashSalesReturnService, ICashSalesInvoiceService _cashSalesInvoiceService, ICashSalesInvoiceDetailService _cashSalesInvoiceDetailService, IWarehouseItemService _warehouseItemService, IWarehouseService _warehouseService, IItemService _itemService, IBarringService _barringService, IStockMutationService _stockMutationService, ICashSalesReturnDetailService _cashSalesReturnDetailService) { if (_validator.ValidConfirmObject(cashSalesReturnDetail, _cashSalesInvoiceDetailService, _cashSalesReturnDetailService)) { CashSalesReturn cashSalesReturn = _cashSalesReturnService.GetObjectById(cashSalesReturnDetail.CashSalesReturnId); CashSalesInvoiceDetail cashSalesInvoiceDetail = _cashSalesInvoiceDetailService.GetObjectById(cashSalesReturnDetail.CashSalesInvoiceDetailId); CashSalesInvoice cashSalesInvoice = _cashSalesInvoiceService.GetObjectById(cashSalesReturn.CashSalesInvoiceId); WarehouseItem warehouseItem = _warehouseItemService.FindOrCreateObject(cashSalesInvoice.WarehouseId, cashSalesInvoiceDetail.ItemId); Item item = _itemService.GetObjectById(cashSalesInvoiceDetail.ItemId); StockMutation stockMutation = new StockMutation() { ItemId = cashSalesInvoiceDetail.ItemId, ItemCase = Core.Constants.Constant.ItemCase.Ready, Status = Core.Constants.Constant.MutationStatus.Addition, Quantity = cashSalesReturnDetail.Quantity, SourceDocumentCode = cashSalesReturn.Code, SourceDocumentId = cashSalesReturn.Id, SourceDocumentType = Core.Constants.Constant.SourceDocumentType.CashSalesReturn, SourceDocumentDetailCode = cashSalesReturnDetail.Code, SourceDocumentDetailId = cashSalesReturnDetail.Id, SourceDocumentDetailType = Core.Constants.Constant.SourceDocumentDetailType.CashSalesReturnDetail, WarehouseId = cashSalesInvoice.WarehouseId, WarehouseItemId = warehouseItem.Id }; stockMutation = _stockMutationService.CreateObject(stockMutation, _warehouseService, _warehouseItemService, _itemService, _barringService); stockMutation.CreatedAt = (DateTime)cashSalesReturn.ConfirmationDate.GetValueOrDefault(); _stockMutationService.UpdateObject(stockMutation, _warehouseService, _warehouseItemService, _itemService, _barringService); _stockMutationService.StockMutateObject(stockMutation, _itemService, _barringService, _warehouseItemService); item.AvgPrice = _itemService.CalculateAndUpdateAvgPrice(item, cashSalesReturnDetail.Quantity, (cashSalesInvoiceDetail.CoGS / cashSalesInvoiceDetail.Quantity)); cashSalesReturnDetail = _repository.ConfirmObject(cashSalesReturnDetail); } return(cashSalesReturnDetail); }
public bool ValidCreateObject(CashSalesReturnDetail cashSalesReturnDetail, ICashSalesReturnService _cashSalesReturnService, ICashSalesReturnDetailService _cashSalesReturnDetailService, ICashSalesInvoiceDetailService _cashSalesInvoiceDetailService) { VCreateObject(cashSalesReturnDetail, _cashSalesReturnService, _cashSalesReturnDetailService, _cashSalesInvoiceDetailService); return(isValid(cashSalesReturnDetail)); }
public bool ValidUnconfirmObject(CashSalesReturnDetail cashSalesReturnDetail) { cashSalesReturnDetail.Errors.Clear(); VUnconfirmObject(cashSalesReturnDetail); return(isValid(cashSalesReturnDetail)); }
public bool ValidDeleteObject(CashSalesReturnDetail cashSalesReturnDetail, ICashSalesReturnService _cashSalesReturnService) { cashSalesReturnDetail.Errors.Clear(); VDeleteObject(cashSalesReturnDetail, _cashSalesReturnService); return(isValid(cashSalesReturnDetail)); }
public void PopulateCashSalesData() { TimeSpan salesDate = new TimeSpan(10, 0, 0, 0); TimeSpan dueDate = new TimeSpan(3, 0, 0, 0); // Cash without Discount & Tax csi1 = new CashSalesInvoice() { SalesDate = DateTime.Today.Subtract(salesDate), WarehouseId = localWarehouse.Id, CashBankId = cashBank.Id, DueDate = DateTime.Today.Subtract(dueDate), }; _cashSalesInvoiceService.CreateObject(csi1, _warehouseService, _cashBankService); // Cash with Discount & Tax csi2 = new CashSalesInvoice() { SalesDate = DateTime.Today.Subtract(salesDate), WarehouseId = localWarehouse.Id, CashBankId = cashBank.Id, DueDate = DateTime.Today.Subtract(dueDate), Discount = 25, Tax = 10, }; _cashSalesInvoiceService.CreateObject(csi2, _warehouseService, _cashBankService); // Bank without Discount & Tax csi3 = new CashSalesInvoice() { SalesDate = DateTime.Today.Subtract(salesDate), WarehouseId = localWarehouse.Id, CashBankId = cashBank2.Id, DueDate = DateTime.Today.Subtract(dueDate), }; _cashSalesInvoiceService.CreateObject(csi3, _warehouseService, _cashBankService); csid1 = new CashSalesInvoiceDetail() { CashSalesInvoiceId = csi1.Id, Quantity = 100, ItemId = blanket1.Id, }; _cashSalesInvoiceDetailService.CreateObject(csid1, _cashSalesInvoiceService, _itemService, _warehouseItemService, _quantityPricingService); csid2 = new CashSalesInvoiceDetail() { CashSalesInvoiceId = csi2.Id, Quantity = 30, ItemId = blanket2.Id, }; _cashSalesInvoiceDetailService.CreateObject(csid2, _cashSalesInvoiceService, _itemService, _warehouseItemService, _quantityPricingService); csid3 = new CashSalesInvoiceDetail() { CashSalesInvoiceId = csi3.Id, Quantity = 10, ItemId = blanket3.Id, }; _cashSalesInvoiceDetailService.CreateObject(csid3, _cashSalesInvoiceService, _itemService, _warehouseItemService, _quantityPricingService); csid4 = new CashSalesInvoiceDetail() { CashSalesInvoiceId = csi2.Id, Quantity = 10, ItemId = blanket3.Id, }; _cashSalesInvoiceDetailService.CreateObject(csid4, _cashSalesInvoiceService, _itemService, _warehouseItemService, _quantityPricingService); _cashSalesInvoiceService.ConfirmObject(csi1, csi1.SalesDate, 0, 0, _cashSalesInvoiceDetailService, _contactService, _priceMutationService, _receivableService, _cashSalesInvoiceService, _warehouseItemService, _warehouseService, _itemService, _barringService, _stockMutationService, _cashBankService, _generalLedgerJournalService, _accountService, _closingService); _cashSalesInvoiceService.ConfirmObject(csi2, csi2.SalesDate, 0, 0, _cashSalesInvoiceDetailService, _contactService, _priceMutationService, _receivableService, _cashSalesInvoiceService, _warehouseItemService, _warehouseService, _itemService, _barringService, _stockMutationService, _cashBankService, _generalLedgerJournalService, _accountService, _closingService); _cashSalesInvoiceService.ConfirmObject(csi3, csi3.SalesDate, 0, 0, _cashSalesInvoiceDetailService, _contactService, _priceMutationService, _receivableService, _cashSalesInvoiceService, _warehouseItemService, _warehouseService, _itemService, _barringService, _stockMutationService, _cashBankService, _generalLedgerJournalService, _accountService, _closingService); _cashSalesInvoiceService.PaidObject(csi1, 200000, 50000, _cashBankService, _receivableService, _receiptVoucherService, _receiptVoucherDetailService, _contactService, _cashMutationService, _cashSalesReturnService, _generalLedgerJournalService, _accountService, _closingService); _cashSalesInvoiceService.PaidObject(csi2, csi2.Total - 50000, 50000, _cashBankService, _receivableService, _receiptVoucherService, _receiptVoucherDetailService, _contactService, _cashMutationService, _cashSalesReturnService, _generalLedgerJournalService, _accountService, _closingService); _cashSalesInvoiceService.PaidObject(csi3, csi3.Total, 50000, _cashBankService, _receivableService, _receiptVoucherService, _receiptVoucherDetailService, _contactService, _cashMutationService, _cashSalesReturnService, _generalLedgerJournalService, _accountService, _closingService); // --------- CashSalesReturn ------------- csr1 = new CashSalesReturn() { ReturnDate = DateTime.Now, CashSalesInvoiceId = csi1.Id, CashBankId = csi1.CashBankId, }; _cashSalesReturnService.CreateObject(csr1, _cashSalesInvoiceService, _cashBankService); csrd1 = new CashSalesReturnDetail() { CashSalesReturnId = csr1.Id, CashSalesInvoiceDetailId = csid1.Id, Quantity = 50, }; _cashSalesReturnDetailService.CreateObject(csrd1, _cashSalesReturnService, _cashSalesInvoiceDetailService); _cashSalesReturnService.ConfirmObject(csr1, DateTime.Now, 50000, _cashSalesReturnDetailService, _contactService, _cashSalesInvoiceService, _cashSalesInvoiceDetailService, _priceMutationService, _payableService, _cashSalesReturnService, _warehouseItemService, _warehouseService, _itemService, _barringService, _stockMutationService, _closingService); _cashSalesReturnService.PaidObject(csr1, /*50000,*/ _cashBankService, _payableService, _paymentVoucherService, _paymentVoucherDetailService, _contactService, _cashMutationService, _generalLedgerJournalService, _accountService, _closingService); //_cashSalesReturnService.UnpaidObject(csr1, _paymentVoucherService, _paymentVoucherDetailService, _cashBankService, _payableService, _cashMutationService); }
public bool isValid(CashSalesReturnDetail obj) { bool isValid = !obj.Errors.Any(); return(isValid); }
public CashSalesReturnDetail VUnconfirmObject(CashSalesReturnDetail cashSalesReturnDetail) { return(cashSalesReturnDetail); }
/*public CashSalesReturnDetail VIsValidTotalPrice(CashSalesReturnDetail cashSalesReturnDetail, ICashSalesInvoiceDetailService _cashSalesInvoiceDetailService) * { * CashSalesInvoiceDetail cashSalesInvoiceDetail = _cashSalesInvoiceDetailService.GetObjectById(cashSalesReturnDetail.CashSalesInvoiceDetailId); * * if (cashSalesReturnDetail.TotalPrice < 0 || cashSalesReturnDetail.TotalPrice > (cashSalesInvoiceDetail.Amount / cashSalesInvoiceDetail.Quantity) * cashSalesReturnDetail.Quantity) * { * cashSalesReturnDetail.Errors.Add("Generic", "TotalPrice Harus lebih besar atau sama dengan 0 dan lebih kecil atau sama dengan CashSalesInvoiceDetail Amount ( " + cashSalesInvoiceDetail.Amount + " )"); * return cashSalesReturnDetail; * } * return cashSalesReturnDetail; * }*/ public CashSalesReturnDetail VConfirmObject(CashSalesReturnDetail cashSalesReturnDetail, ICashSalesInvoiceDetailService _cashSalesInvoiceDetailService, ICashSalesReturnDetailService _cashSalesReturnDetailService) { VIsValidQuantity(cashSalesReturnDetail, _cashSalesInvoiceDetailService, _cashSalesReturnDetailService); return(cashSalesReturnDetail); }