// GET: /Edit public ActionResult Edit(int id) { //Set Access Rights ViewData["Access"] = ""; if (hierarchyRepository.AdminHasDomainWriteAccess(groupName)) { ViewData["Access"] = "WriteAccess"; } GDSRequestType gdsRequestType = gdsRequestTypeRepository.GetGDSRequestType(id); //Check Exists if (gdsRequestType == null) { ViewData["ActionMethod"] = "EditGet"; return(View("RecordDoesNotExistError")); } //Check Access RolesRepository rolesRepository = new RolesRepository(); if (!hierarchyRepository.AdminHasDomainWriteAccess(groupName)) { ViewData["Message"] = "You do not have access to this item"; return(View("Error")); } GDSRequestTypeVM gdsRequestTypeVM = new GDSRequestTypeVM(); gdsRequestTypeVM.GDSRequestType = gdsRequestType; return(View(gdsRequestTypeVM)); }
public ActionResult Edit(GDSContactVM gdsContactVM, FormCollection formCollection) { //Check Access Rights to Domain if (!hierarchyRepository.AdminHasDomainWriteAccess(groupName)) { ViewData["Message"] = "You do not have access to this item"; return(View("Error")); } //Convert GDSRequestTypeIds to GDSRequestTypes List <GDSRequestType> gdsContactRequestTypes = new List <GDSRequestType>(); string key = "GDSContact.GDSRequestTypeIds"; if (formCollection[key] != null) { List <int> gdsContactRequestTypeIds = formCollection[key].Split(',').Select(Int32.Parse).ToList(); foreach (int gdsContactRequestTypeId in gdsContactRequestTypeIds) { GDSRequestTypeRepository gdsRequestTypeRepository = new GDSRequestTypeRepository(); GDSRequestType gdsRequestType = gdsRequestTypeRepository.GetGDSRequestType(gdsContactRequestTypeId); if (gdsRequestType != null) { gdsContactRequestTypes.Add(gdsRequestType); } } } gdsContactVM.GDSContact.GDSRequestTypes = gdsContactRequestTypes; //Update Model from Form try { UpdateModel(gdsContactVM); } 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")); } //Database Update try { gdsContactRepository.Update(gdsContactVM.GDSContact); } catch (SqlException ex) { 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("List")); }