public ActionResult Edit(string id, UncreditServiceDetailView uncreditServiceDetailView) { uncreditServiceDetailView.EmployeeView = GetEmployee(); #region Access Check bool hasPermission = GetEmployee().IsGuaranteed("UncreditService_Update"); if (!hasPermission) { ModelState.AddModelError("", "AccessDenied"); return(View(uncreditServiceDetailView)); } #endregion if (ModelState.IsValid) { try { EditUncreditServiceRequestOld request = new EditUncreditServiceRequestOld(); request.ID = Guid.Parse(id); request.ModifiedEmployeeID = GetEmployee().ID; request.Discontinued = uncreditServiceDetailView.UncreditServiceView.Discontinued; request.Imposition = uncreditServiceDetailView.UncreditServiceView.Imposition; request.MaxDiscount = uncreditServiceDetailView.UncreditServiceView.MaxDiscount; request.SortOrder = uncreditServiceDetailView.UncreditServiceView.SortOrder; request.UnCreditServiceCode = uncreditServiceDetailView.UncreditServiceView.UnCreditServiceCode; request.Note = uncreditServiceDetailView.UncreditServiceView.Note; request.UncreditServiceName = uncreditServiceDetailView.UncreditServiceView.UncreditServiceName; request.UnitPrice = uncreditServiceDetailView.UncreditServiceView.UnitPrice; request.RowVersion = uncreditServiceDetailView.UncreditServiceView.RowVersion; GeneralResponse response = this._uncreditServiceService.EditUncreditService(request); if (response.success) { return(RedirectToAction("Index")); } else { foreach (string error in response.ErrorMessages) { ModelState.AddModelError("", error); } return(View(uncreditServiceDetailView)); } } catch (Exception ex) { ModelState.AddModelError("", ex.Message); return(View(uncreditServiceDetailView)); } } return(View(uncreditServiceDetailView)); }
public GeneralResponse EditUncreditService(EditUncreditServiceRequestOld request) { GeneralResponse response = new GeneralResponse(); UncreditService uncreditService = new UncreditService(); uncreditService = _uncreditServiceRepository.FindBy(request.ID); if (uncreditService != null) { try { uncreditService.ModifiedDate = PersianDateTime.Now; uncreditService.ModifiedEmployee = _employeeRepository.FindBy(request.ModifiedEmployeeID); uncreditService.Imposition = request.Imposition; uncreditService.MaxDiscount = request.MaxDiscount; if (request.UnCreditServiceCode != null) { uncreditService.UnCreditServiceCode = request.UnCreditServiceCode; } if (request.UncreditServiceName != null) { uncreditService.UncreditServiceName = request.UncreditServiceName; } uncreditService.UnitPrice = request.UnitPrice; if (request.Note != null) { uncreditService.Note = request.Note; } uncreditService.Discontinued = request.Discontinued; if (uncreditService.RowVersion != request.RowVersion) { response.ErrorMessages.Add("کارشناس محترم، یک کاربر همزمان با شما در حال ویرایش این رکورد است. بنابراین اطلاعات شما ذخیره نمی شود."); return(response); } else { uncreditService.RowVersion += 1; } if (uncreditService.GetBrokenRules().Count() > 0) { foreach (BusinessRule businessRule in uncreditService.GetBrokenRules()) { response.ErrorMessages.Add(businessRule.Rule); } return(response); } _uncreditServiceRepository.Save(uncreditService); _uow.Commit(); ////response.success = true; } catch (Exception ex) { response.ErrorMessages.Add(ex.Message); } } else { response.ErrorMessages.Add("هیچ موردی جهت ویرایش وجود ندارد."); } return(response); }