public ActionResult Edit(string id, CustomerLevelDetailView customerLevelDetailView) { #region Access Check bool hasPermission = GetEmployee().IsGuaranteed("CustomerLevel_Update"); if (!hasPermission) { ModelState.AddModelError("", "AccessDenied"); return(View(customerLevelDetailView)); } #endregion if (ModelState.IsValid) { try { EditCustomerLevelRequest request = new EditCustomerLevelRequest(); request.ID = Guid.Parse(id); request.ModifiedEmployeeID = GetEmployee().ID; request.CustomerID = customerLevelDetailView.CustomerLevelView.CustomerID; request.NewLevelID = customerLevelDetailView.CustomerLevelView.LevelID; request.Note = customerLevelDetailView.CustomerLevelView.Note; request.RowVersion = customerLevelDetailView.CustomerLevelView.RowVersion; GeneralResponse response = this._customerLevelService.EditCustomerLevel(request); if (response.success) { return(RedirectToAction("Index")); } else { foreach (string error in response.ErrorMessages) { ModelState.AddModelError("", error); } return(View(customerLevelDetailView)); } } catch (Exception ex) { ModelState.AddModelError("", ex.Message); return(View(customerLevelDetailView)); } } return(View(customerLevelDetailView)); }
public GeneralResponse EditCustomerLevel(EditCustomerLevelRequest request) { GeneralResponse response = new GeneralResponse(); CustomerLevel customerLevel = new CustomerLevel(); customerLevel = _customerLevelRepository.FindBy(request.ID); if (customerLevel != null) { try { customerLevel.ModifiedDate = PersianDateTime.Now; customerLevel.ModifiedEmployee = _employeeRepository.FindBy(request.ModifiedEmployeeID); if (request.CustomerID != customerLevel.Customer.ID) { customerLevel.Customer = this._customerRepository.FindBy(request.CustomerID); } if (request.NewLevelID != customerLevel.Level.ID) { customerLevel.Level = this._levelRepository.FindBy(request.NewLevelID); } if (request.Note != null) { customerLevel.Note = request.Note; } if (customerLevel.RowVersion != request.RowVersion) { response.ErrorMessages.Add("EditConcurrencyKey"); return(response); } else { customerLevel.RowVersion += 1; } if (customerLevel.GetBrokenRules().Count() > 0) { foreach (BusinessRule businessRule in customerLevel.GetBrokenRules()) { response.ErrorMessages.Add(businessRule.Rule); } return(response); } _customerLevelRepository.Save(customerLevel); _uow.Commit(); ////response.success = true; } catch (Exception ex) { response.ErrorMessages.Add(ex.Message); } } else { response.ErrorMessages.Add("NoItemToEditKey"); } return(response); }