public ActionResult Edit(string id, AgencyDetailView agencyDetailView) { agencyDetailView.EmployeeView = GetEmployee(); #region Check Access GeneralResponse response = new GeneralResponse(); bool hasPermission = GetEmployee().IsGuaranteed("Agency_Update"); if (!hasPermission) { ModelState.AddModelError("", "AccessDenied");; return(View(agencyDetailView)); } #endregion if (ModelState.IsValid) { try { EditAgencyRequestOld request = new EditAgencyRequestOld(); request.ID = Guid.Parse(id); request.ModifiedEmployeeID = GetEmployee().ID; request.Address = agencyDetailView.AgencyView.Address; request.AgencyName = agencyDetailView.AgencyView.AgencyName; request.Discontinued = agencyDetailView.AgencyView.Discontinued; request.ManagerName = agencyDetailView.AgencyView.ManagerName; request.Mobile = agencyDetailView.AgencyView.Mobile; request.Note = agencyDetailView.AgencyView.Note; request.Phone1 = agencyDetailView.AgencyView.Phone1; request.Phone2 = agencyDetailView.AgencyView.Phone2; request.RowVersion = agencyDetailView.AgencyView.RowVersion; response = this._agencyService.EditAgency(request); if (response.success) { return(RedirectToAction("Index")); } else { foreach (string error in response.ErrorMessages) { ModelState.AddModelError("", error); } return(View(agencyDetailView)); } } catch (Exception ex) { ModelState.AddModelError("", ex.Message); return(View(agencyDetailView)); } } return(View(agencyDetailView)); }
public GeneralResponse EditAgency(EditAgencyRequestOld request) { GeneralResponse response = new GeneralResponse(); Agency agency = new Agency(); agency = _agencyRepository.FindBy(request.ID); if (agency != null) { try { agency.ModifiedDate = PersianDateTime.Now; agency.ModifiedEmployee = _employeeRepository.FindBy(request.ModifiedEmployeeID); if (request.AgencyName != null) { agency.AgencyName = request.AgencyName; } if (request.ManagerName != null) { agency.ManagerName = request.ManagerName; } if (request.Phone1 != null) { agency.Phone1 = request.Phone1; } if (request.Phone2 != null) { agency.Phone2 = request.Phone2; } if (request.Mobile != null) { agency.Mobile = request.Mobile; } if (request.Address != null) { agency.Address = request.Address; } if (request.Note != null) { agency.Note = request.Note; } agency.Discontinued = request.Discontinued; if (agency.RowVersion != request.RowVersion) { response.ErrorMessages.Add("EditConcurrencyKey"); return(response); } else { agency.RowVersion += 1; } if (agency.GetBrokenRules().Count() > 0) { foreach (BusinessRule businessRule in agency.GetBrokenRules()) { response.ErrorMessages.Add(businessRule.Rule); } return(response); } _agencyRepository.Save(agency); _uow.Commit(); } catch (Exception ex) { response.ErrorMessages.Add(ex.Message); if (ex.InnerException != null) { response.ErrorMessages.Add(ex.InnerException.Message); } } } else { response.ErrorMessages.Add("NoItemToEditKey"); } return(response); }