// 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")); } QueueMinderGroupVM queueMinderGroupVM = new QueueMinderGroupVM(); QueueMinderGroup queueMinderGroup = new QueueMinderGroup(); queueMinderGroupVM.QueueMinderGroup = queueMinderGroup; TripTypeRepository tripTypeRepository = new TripTypeRepository(); SelectList tripTypesList = new SelectList(tripTypeRepository.GetAllTripTypes().ToList(), "TripTypeId", "TripTypeDescription"); queueMinderGroupVM.TripTypes = tripTypesList; TablesDomainHierarchyLevelRepository tablesDomainHierarchyLevelRepository = new TablesDomainHierarchyLevelRepository(); SelectList hierarchyTypesList = new SelectList(tablesDomainHierarchyLevelRepository.GetDomainHierarchies(groupName).ToList(), "HierarchyLevelTableName", "HierarchyLevelTableName"); queueMinderGroupVM.HierarchyTypes = hierarchyTypesList; List <Meeting> meetings = new List <Meeting>(); SelectList meetingsList = new SelectList(meetings.ToList(), "MeetingID", "MeetingName"); ViewData["Meetings"] = meetingsList; return(View(queueMinderGroupVM)); }
// GET: /View public ActionResult Edit(int id) { QueueMinderGroup queueMinderGroup = new QueueMinderGroup(); queueMinderGroup = queueMinderGroupRepository.GetGroup(id); //Check Exists if (queueMinderGroup == null) { ViewData["ActionMethod"] = "EditGet"; return(View("RecordDoesNotExistError")); } RolesRepository rolesRepository = new RolesRepository(); if (!rolesRepository.HasWriteAccessToQueueMinderGroup(id)) { ViewData["Message"] = "You do not have access to this item"; return(View("Error")); } if (queueMinderGroup.TripTypeId == null) { TripType tripType = new TripType(); queueMinderGroup.TripType = tripType; } QueueMinderGroupVM queueMinderGroupVM = new QueueMinderGroupVM(); queueMinderGroupRepository.EditGroupForDisplay(queueMinderGroup); queueMinderGroupVM.QueueMinderGroup = queueMinderGroup; TripTypeRepository tripTypeRepository = new TripTypeRepository(); SelectList tripTypesList = new SelectList(tripTypeRepository.GetAllTripTypes().ToList(), "TripTypeId", "TripTypeDescription"); queueMinderGroupVM.TripTypes = tripTypesList; TablesDomainHierarchyLevelRepository tablesDomainHierarchyLevelRepository = new TablesDomainHierarchyLevelRepository(); SelectList hierarchyTypesList = new SelectList(tablesDomainHierarchyLevelRepository.GetDomainHierarchies(groupName).ToList(), "HierarchyLevelTableName", "HierarchyLevelTableName"); queueMinderGroupVM.HierarchyTypes = hierarchyTypesList; //Meetings MeetingRepository meetingRepository = new MeetingRepository(); List <Meeting> meetings = meetingRepository.GetAvailableMeetings(queueMinderGroup.HierarchyType, queueMinderGroup.HierarchyCode, null, queueMinderGroup.SourceSystemCode, queueMinderGroup.TravelerTypeGuid); SelectList meetingsList = new SelectList(meetings.ToList(), "MeetingID", "MeetingDisplayName", queueMinderGroup.MeetingID != null ? queueMinderGroup.MeetingID.ToString() : ""); ViewData["Meetings"] = meetingsList; return(View(queueMinderGroupVM)); }
public ActionResult Edit(int id, QueueMinderGroupVM queueMinderGroupVM) { //Get Item QueueMinderGroup queueMinderGroup = new QueueMinderGroup(); queueMinderGroup = queueMinderGroupRepository.GetGroup(queueMinderGroupVM.QueueMinderGroup.QueueMinderGroupId); //Check Exists if (queueMinderGroup == null) { ViewData["ActionMethod"] = "EditPost"; return(View("RecordDoesNotExistError")); } //Check Access RolesRepository rolesRepository = new RolesRepository(); if (!rolesRepository.HasWriteAccessToQueueMinderGroup(queueMinderGroup.QueueMinderGroupId)) { ViewData["Message"] = "You do not have access to this item"; return(View("Error")); } try { UpdateModel <QueueMinderGroup>(queueMinderGroup, "QueueMinderGroup"); } 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")); } //Dont check for multiple as We are not editing Hierarchy, we have alrady checked access to the item itself if (queueMinderGroup.HierarchyType != "Multiple") { //ClientSubUnitTravelerType has extra field string hierarchyCode = queueMinderGroup.HierarchyCode; if (queueMinderGroup.HierarchyType == "ClientSubUnitTravelerType") { queueMinderGroup.ClientSubUnitGuid = hierarchyCode; //ClientSubUnitTravelerType has 2 primarykeys } //Check Access Rights to PolicyGroup HierarchyRepository hierarchyRepository = new HierarchyRepository(); if (!hierarchyRepository.AdminHasDomainHierarchyWriteAccess(queueMinderGroup.HierarchyType, hierarchyCode, queueMinderGroup.SourceSystemCode, groupName)) { ViewData["Message"] = "You cannot add to this hierarchy item"; return(View("Error")); } } //Database Update try { queueMinderGroupRepository.Edit(queueMinderGroup); } catch (SqlException ex) { //Versioning Error if (ex.Message == "SQLVersioningError") { ViewData["ReturnURL"] = "/QueueMinderGroup.mvc/Edit/" + queueMinderGroup.QueueMinderGroupId.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(QueueMinderGroupVM queueMinderGroupVM) { //Check Access Rights to Domain if (!hierarchyRepository.AdminHasDomainWriteAccess(groupName)) { ViewData["Message"] = "You do not have access to this item"; return(View("Error")); } //We need to extract group from groupVM QueueMinderGroup queueMinderGroup = new QueueMinderGroup(); queueMinderGroup = queueMinderGroupVM.QueueMinderGroup; if (queueMinderGroup == null) { ViewData["Message"] = "ValidationError : missing item";; return(View("Error")); } //Check Access Rights to Domain Hierarchy if (!hierarchyRepository.AdminHasDomainHierarchyWriteAccess(queueMinderGroup.HierarchyType, queueMinderGroup.HierarchyCode, queueMinderGroup.SourceSystemCode, groupName)) { ViewData["Message"] = "You cannot add to this hierarchy item"; return(View("Error")); } //Update Model From Form + Validate against DB try { UpdateModel <QueueMinderGroup>(queueMinderGroup, "QueueMinderGroup"); } 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 = queueMinderGroup.HierarchyCode; if (queueMinderGroup.HierarchyType == "ClientSubUnitTravelerType") { queueMinderGroup.ClientSubUnitGuid = hierarchyCode; //ClientSubUnitTravelerType has 2 primarykeys } //Database Update try { queueMinderGroupRepository.Add(queueMinderGroup); } 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")); }