public ActionResult Create(AgencyDetailView agencyDetailView) { if (ModelState.IsValid) { try { GeneralResponse response = new GeneralResponse(); #region Check Access bool hasPermission = GetEmployee().IsGuaranteed("Agency_Insert"); if (!hasPermission) { ModelState.AddModelError("", "AccessDenied"); return(View(agencyDetailView)); } #endregion AddAgencyRequestOld request = new AddAgencyRequestOld(); request.CreateEmployeeID = 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; response = this._agencyService.AddAgency(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 AddAgency(AddAgencyRequestOld request) { GeneralResponse response = new GeneralResponse(); try { Agency agency = new Agency(); agency.ID = Guid.NewGuid(); agency.CreateDate = PersianDateTime.Now; agency.CreateEmployee = _employeeRepository.FindBy(request.CreateEmployeeID); agency.AgencyName = request.AgencyName; agency.ManagerName = request.ManagerName; agency.Phone1 = request.Phone1; agency.Phone2 = request.Phone2; agency.Mobile = request.Mobile; agency.Address = request.Address; agency.Note = request.Note; agency.Discontinued = request.Discontinued; agency.SortOrder = GetMaxSortOrder(); agency.RowVersion = 1; // Validation if (agency.GetBrokenRules().Count() > 0) { foreach (BusinessRule businessRule in agency.GetBrokenRules()) { response.ErrorMessages.Add(businessRule.Rule); } return(response); } _agencyRepository.Add(agency); _uow.Commit(); } catch (Exception ex) { response.ErrorMessages.Add(ex.Message); if (ex.InnerException != null) { response.ErrorMessages.Add(ex.InnerException.Message); } } return(response); }