public GeneralResponse EditMoneyAccountEmployee(EditMoneyAccountEmployeeRequest request) { GeneralResponse response = new GeneralResponse(); MoneyAccountEmployee moneyAccountEmployee = new MoneyAccountEmployee(); moneyAccountEmployee = _moneyAccountEmployeeRepository.FindBy(request.ID); if (moneyAccountEmployee != null) { try { moneyAccountEmployee.ModifiedDate = PersianDateTime.Now; moneyAccountEmployee.ModifiedEmployee = _employeeRepository.FindBy(request.ModifiedEmployeeID); if (request.EmployeeID != null) { moneyAccountEmployee.Employee = this._employeeRepository.FindBy(request.EmployeeID); } if (request.MoneyAccountID != null) { moneyAccountEmployee.MoneyAccount = this._moneyAccountRepository.FindBy(request.MoneyAccountID); } if (moneyAccountEmployee.RowVersion != request.RowVersion) { response.ErrorMessages.Add("EditConcurrencyKey"); return(response); } else { moneyAccountEmployee.RowVersion += 1; } if (moneyAccountEmployee.GetBrokenRules().Count() > 0) { foreach (BusinessRule businessRule in moneyAccountEmployee.GetBrokenRules()) { response.ErrorMessages.Add(businessRule.Rule); } return(response); } _moneyAccountEmployeeRepository.Save(moneyAccountEmployee); _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, MoneyAccountEmployeeDetailView moneyAccountEmployeeDetailView) { moneyAccountEmployeeDetailView.EmployeeView = GetEmployee(); #region Check Access bool hasPermission = GetEmployee().IsGuaranteed("MoneyAccountEmployee_Update"); if (!hasPermission) { ModelState.AddModelError("", "AccessDenied"); return(View(moneyAccountEmployeeDetailView)); } #endregion if (ModelState.IsValid) { try { EditMoneyAccountEmployeeRequest request = new EditMoneyAccountEmployeeRequest(); request.ID = Guid.Parse(id); request.ModifiedEmployeeID = GetEmployee().ID; request.EmployeeID = moneyAccountEmployeeDetailView.MoneyAccountEmployeeView.EmployeeID; request.MoneyAccountID = moneyAccountEmployeeDetailView.MoneyAccountEmployeeView.MoneyAccountID; request.RowVersion = moneyAccountEmployeeDetailView.MoneyAccountEmployeeView.RowVersion; GeneralResponse response = this._moneyAccountEmployeeService.EditMoneyAccountEmployee(request); if (response.success) { return(RedirectToAction("Index")); } else { foreach (string error in response.ErrorMessages) { ModelState.AddModelError("", error); } return(View(moneyAccountEmployeeDetailView)); } } catch (Exception ex) { ModelState.AddModelError("", ex.Message); return(View(moneyAccountEmployeeDetailView)); } } return(View(moneyAccountEmployeeDetailView)); }