public GeneralResponse EditCreditSaleDetail(EditCreditSaleDetailRequest request) { GeneralResponse response = new GeneralResponse(); CreditSaleDetail creditSaleDetail = new CreditSaleDetail(); creditSaleDetail = _creditSaleDetailRepository.FindBy(request.ID); if (creditSaleDetail != null) { try { creditSaleDetail.ModifiedDate = PersianDateTime.Now; creditSaleDetail.ModifiedEmployee = _employeeRepository.FindBy(request.ModifiedEmployeeID); if (creditSaleDetail.CreditService.ID != request.CreditServiceID) { creditSaleDetail.CreditService = this._creditServiceRepository.FindBy(request.CreditServiceID); } creditSaleDetail.Discount = request.Discount; creditSaleDetail.Imposition = request.Imposition; creditSaleDetail.UnitPrice = request.UnitPrice; if (creditSaleDetail.RowVersion != request.RowVersion) { response.ErrorMessages.Add("EditConcurrencyKey"); return(response); } else { creditSaleDetail.RowVersion += 1; } if (creditSaleDetail.GetBrokenRules().Count() > 0) { foreach (BusinessRule businessRule in creditSaleDetail.GetBrokenRules()) { response.ErrorMessages.Add(businessRule.Rule); } return(response); } _creditSaleDetailRepository.Save(creditSaleDetail); _uow.Commit(); ////response.success = true; } catch (Exception ex) { response.ErrorMessages.Add(ex.Message); } } else { response.ErrorMessages.Add("NoItemToEditKey"); } return(response); }
public ActionResult Edit(string id, CreditSaleDetailDetailView creditSaleDetailDetailView) { if (ModelState.IsValid) { try { EditCreditSaleDetailRequest request = new EditCreditSaleDetailRequest(); request.ID = Guid.Parse(id); request.ModifiedEmployeeID = GetEmployee().ID; request.CreditServiceID = creditSaleDetailDetailView.CreditSaleDetailView.CreditServiceID; request.Discount = creditSaleDetailDetailView.CreditSaleDetailView.Discount; request.Imposition = creditSaleDetailDetailView.CreditSaleDetailView.Imposition; request.MainCreditSaleDetailID = creditSaleDetailDetailView.CreditSaleDetailView.MainCreditSaleDetailID; request.UnitPrice = creditSaleDetailDetailView.CreditSaleDetailView.UnitPrice; request.Units = creditSaleDetailDetailView.CreditSaleDetailView.Units; request.RowVersion = creditSaleDetailDetailView.CreditSaleDetailView.RowVersion; EditResponse response = this._creditSaleDetailService.EditCreditSaleDetail(request); if (response.Success) { return(RedirectToAction("Index")); } else { foreach (string error in response.ErrorMessages) { ModelState.AddModelError("", error); } return(View(creditSaleDetailDetailView)); } } catch (Exception ex) { ModelState.AddModelError("", ex.Message); return(View(creditSaleDetailDetailView)); } } return(View(creditSaleDetailDetailView)); }