// GET: /Edit public ActionResult Edit(int id) { //Get Item From Database CommissionableRouteGroup group = new CommissionableRouteGroup(); group = CommissionableRouteGroupRepository.GetGroup(id); //Check Exists if (group == null) { ViewData["ActionMethod"] = "EditGet"; return(View("RecordDoesNotExistError")); } //Check Access RolesRepository rolesRepository = new RolesRepository(); if (!rolesRepository.HasWriteAccessToCommissionableRouteGroup(id)) { ViewData["Message"] = "You do not have access to this item"; return(View("Error")); } TripTypeRepository tripTypeRepository = new TripTypeRepository(); SelectList tripTypesList = new SelectList(tripTypeRepository.GetAllTripTypes().ToList(), "TripTypeId", "TripTypeDescription"); ViewData["TripTypes"] = tripTypesList; TablesDomainHierarchyLevelRepository tablesDomainHierarchyLevelRepository = new TablesDomainHierarchyLevelRepository(); SelectList hierarchyTypesList = new SelectList(tablesDomainHierarchyLevelRepository.GetDomainHierarchies(groupName).ToList(), "HierarchyLevelTableName", "HierarchyLevelTableName"); ViewData["HierarchyTypes"] = hierarchyTypesList; CommissionableRouteGroupRepository.EditGroupForDisplay(group); return(View(group)); }
//Add Data From Linked Tables for Display public void EditGroupForDisplay(CommissionableRouteGroup group) { TripTypeRepository tripTypeRepository = new TripTypeRepository(); TripType tripType = new TripType(); tripType = tripTypeRepository.GetTripType(group.TripTypeId); if (tripType != null) { group.TripType = tripType; } group.CommissionableRouteGroupName = Regex.Replace(group.CommissionableRouteGroupName, @"[^\w\-()*]", "-"); List <fnDesktopDataAdmin_SelectCommissionableRouteGroupHierarchy_v1Result> hierarchy = new List <fnDesktopDataAdmin_SelectCommissionableRouteGroupHierarchy_v1Result>(); hierarchy = GetGroupHierarchy(group.CommissionableRouteGroupId); if (hierarchy.Count > 0) { HierarchyRepository hierarchyRepository = new HierarchyRepository(); HierarchyGroup hierarchyGroup = hierarchyRepository.GetHierarchyGroup( hierarchy[0].HierarchyType ?? "", hierarchy[0].HierarchyCode ?? "", hierarchy[0].HierarchyName ?? "", hierarchy[0].TravelerTypeGuid ?? "", hierarchy[0].TravelerTypeName ?? "", hierarchy[0].SourceSystemCode ?? "" ); if (hierarchyGroup != null) { group.HierarchyType = hierarchyGroup.HierarchyType; group.HierarchyCode = hierarchyGroup.HierarchyCode; group.HierarchyItem = hierarchyGroup.HierarchyItem; group.ClientSubUnitGuid = hierarchyGroup.ClientSubUnitGuid; group.ClientSubUnitName = hierarchyGroup.ClientSubUnitName; group.TravelerTypeGuid = hierarchyGroup.TravelerTypeGuid; group.TravelerTypeName = hierarchyGroup.TravelerTypeName; group.ClientTopUnitName = hierarchyGroup.ClientTopUnitName; group.SourceSystemCode = hierarchyGroup.SourceSystemCode; } } if (hierarchy.Count > 1) { group.IsMultipleHierarchy = true; group.HierarchyType = "Multiple"; group.HierarchyItem = "Multiple"; group.HierarchyCode = "Multiple"; } else { group.IsMultipleHierarchy = false; } }
//Change the deleted status on an item public void UpdateGroupDeletedStatus(CommissionableRouteGroup group) { string adminUserGuid = HttpContext.Current.User.Identity.Name.Split(new[] { '|' })[0]; db.spDesktopDataAdmin_UpdateCommissionableRouteGroupDeletedStatus_v1( group.CommissionableRouteGroupId, group.DeletedFlag, adminUserGuid, group.VersionNumber ); }
public ActionResult Delete(int id, FormCollection collection) { //Get Item From Database CommissionableRouteGroup group = new CommissionableRouteGroup(); group = CommissionableRouteGroupRepository.GetGroup(id); //Check Exists if (group == null || group.DeletedFlag == true) { ViewData["ActionMethod"] = "DeletePost"; return(View("RecordDoesNotExistError")); } //Check Access RolesRepository rolesRepository = new RolesRepository(); if (!rolesRepository.HasWriteAccessToCommissionableRouteGroup(id)) { ViewData["Message"] = "You do not have access to this item"; return(View("Error")); } //Delete Item try { group.VersionNumber = Int32.Parse(collection["VersionNumber"]); group.DeletedFlag = true; CommissionableRouteGroupRepository.UpdateGroupDeletedStatus(group); } catch (SqlException ex) { //Versioning Error - go to standard versionError page if (ex.Message == "SQLVersioningError") { ViewData["ReturnURL"] = "/CommissionableRouteGroup.mvc/Delete/" + group.CommissionableRouteGroupId; return(View("VersionError")); } LogRepository logRepository = new LogRepository(); logRepository.LogError(ex.Message); ViewData["Message"] = "There was a problem with your request, please see the log file or contact an administrator for details"; return(View("Error")); } return(RedirectToAction("ListUnDeleted")); }
// GET: /View public ActionResult View(int id) { CommissionableRouteGroup group = new CommissionableRouteGroup(); group = CommissionableRouteGroupRepository.GetGroup(id); //Check Exists if (group == null) { ViewData["ActionMethod"] = "ViewGet"; return(View("RecordDoesNotExistError")); } CommissionableRouteGroupRepository.EditGroupForDisplay(group); return(View(group)); }
//Add Group public void Add(CommissionableRouteGroup group) { string adminUserGuid = HttpContext.Current.User.Identity.Name.Split(new[] { '|' })[0]; db.spDesktopDataAdmin_InsertCommissionableRouteGroup_v1( adminUserGuid, group.CommissionableRouteGroupName, group.EnabledFlag, group.EnabledDate, group.ExpiryDate, group.InheritFromParentFlag, group.HierarchyType, group.HierarchyCode, group.TravelerTypeGuid, group.ClientSubUnitGuid, group.SourceSystemCode, adminUserGuid ); }
// GET: /Create public ActionResult Create() { //Check Access Rights to Domain if (!hierarchyRepository.AdminHasDomainWriteAccess(groupName)) { ViewData["Message"] = "You do not have access to this item"; return(View("Error")); } TripTypeRepository tripTypeRepository = new TripTypeRepository(); SelectList tripTypesList = new SelectList(tripTypeRepository.GetAllTripTypes().ToList(), "TripTypeId", "TripTypeDescription"); ViewData["TripTypes"] = tripTypesList; TablesDomainHierarchyLevelRepository tablesDomainHierarchyLevelRepository = new TablesDomainHierarchyLevelRepository(); SelectList hierarchyTypesList = new SelectList(tablesDomainHierarchyLevelRepository.GetDomainHierarchies(groupName).ToList(), "HierarchyLevelTableName", "HierarchyLevelTableName"); ViewData["HierarchyTypes"] = hierarchyTypesList; CommissionableRouteGroup group = new CommissionableRouteGroup(); return(View(group)); }
// GET: /UnDelete public ActionResult UnDelete(int id) { //Get Item From Database CommissionableRouteGroup group = new CommissionableRouteGroup(); group = CommissionableRouteGroupRepository.GetGroup(id); //Check Exists if (group == null || group.DeletedFlag == false) { ViewData["ActionMethod"] = "UnDeleteGet"; return(View("RecordDoesNotExistError")); } //Check AccessRights RolesRepository rolesRepository = new RolesRepository(); if (!rolesRepository.HasWriteAccessToCommissionableRouteGroup(id)) { ViewData["Message"] = "You do not have access to this item"; return(View("Error")); } CommissionableRouteGroupRepository.EditGroupForDisplay(group); return(View(group)); }
public ActionResult Edit(int id, FormCollection collection) { //Get Item From Database CommissionableRouteGroup group = new CommissionableRouteGroup(); group = CommissionableRouteGroupRepository.GetGroup(id); //Check Exists if (group == null) { ViewData["ActionMethod"] = "EditPost"; return(View("RecordDoesNotExistError")); } //Check Access RolesRepository rolesRepository = new RolesRepository(); if (!rolesRepository.HasWriteAccessToCommissionableRouteGroup(group.CommissionableRouteGroupId)) { return(View("Error")); } //Update Model From Form + Validate against DB try { UpdateModel(group); } catch { string n = ""; foreach (ModelState modelState in ViewData.ModelState.Values) { foreach (ModelError error in modelState.Errors) { n += error.ErrorMessage; } } ViewData["Message"] = "ValidationError : " + n; return(View("Error")); } //ClientSubUnitTravelerType has extra field string hierarchyCode = group.HierarchyCode; if (group.HierarchyType == "ClientSubUnitTravelerType") { group.ClientSubUnitGuid = hierarchyCode; //ClientSubUnitTravelerType has 2 primarykeys } //Check Access Rights to PolicyGroup HierarchyRepository hierarchyRepository = new HierarchyRepository(); if (!hierarchyRepository.AdminHasDomainHierarchyWriteAccess(group.HierarchyType, hierarchyCode, group.SourceSystemCode, groupName)) { ViewData["Message"] = "You cannot add to this hierarchy item"; return(View("Error")); } //Database Update try { CommissionableRouteGroupRepository.Edit(group); } catch (SqlException ex) { //Versioning Error if (ex.Message == "SQLVersioningError") { ViewData["ReturnURL"] = "/CommissionableRouteGroup.mvc/Edit/" + group.CommissionableRouteGroupId.ToString(); return(View("VersionError")); } LogRepository logRepository = new LogRepository(); logRepository.LogError(ex.Message); ViewData["Message"] = "There was a problem with your request, please see the log file or contact an administrator for details"; return(View("Error")); } return(RedirectToAction("ListUnDeleted")); }
public ActionResult Create(CommissionableRouteGroup group) { //Check Access Rights to Domain if (!hierarchyRepository.AdminHasDomainWriteAccess(groupName)) { ViewData["Message"] = "You do not have access to this item"; return(View("Error")); } //Check Access Rights to Domain Hierarchy if (!hierarchyRepository.AdminHasDomainHierarchyWriteAccess(group.HierarchyType, group.HierarchyCode, group.SourceSystemCode, groupName)) { ViewData["Message"] = "You cannot add to this hierarchy item"; return(View("Error")); } //Update Model From Form + Validate against DB try { UpdateModel(group); } catch { string n = ""; foreach (ModelState modelState in ViewData.ModelState.Values) { foreach (ModelError error in modelState.Errors) { n += error.ErrorMessage; } } ViewData["Message"] = "ValidationError : " + n; return(View("Error")); } //ClientSubUnitTravelerType has extra field string hierarchyCode = group.HierarchyCode; if (group.HierarchyType == "ClientSubUnitTravelerType") { group.ClientSubUnitGuid = hierarchyCode; //ClientSubUnitTravelerType has 2 primarykeys } //Database Update try { CommissionableRouteGroupRepository.Add(group); } catch (SqlException ex) { //Non-Unique Name if (ex.Message == "NonUniqueName") { return(View("NonUniqueNameError")); } LogRepository logRepository = new LogRepository(); logRepository.LogError(ex.Message); ViewData["Message"] = "There was a problem with your request, please see the log file or contact an administrator for details"; return(View("Error")); } ViewData["NewSortOrder"] = 0; return(RedirectToAction("ListUnDeleted")); }