// GET: Linked ClientSubUnits public ActionResult LinkedClientSubUnits(int id) { //Get Group From Database ReasonCodeGroup group = new ReasonCodeGroup(); group = reasonCodeGroupRepository.GetGroup(id); //Check Exists if (group == null) { ViewData["ActionMethod"] = "ClientSubUnitGet"; return(View("RecordDoesNotExistError")); } ReasonCodeGroupClientSubUnitCountriesVM reasonCodeGroupClientSubUnits = new ReasonCodeGroupClientSubUnitCountriesVM(); reasonCodeGroupClientSubUnits.ReasonCodeGroupId = id; reasonCodeGroupClientSubUnits.ReasonCodeGroupName = group.ReasonCodeGroupName; List <ReasonCodeClientSubUnitCountryVM> clientSubUnitsAvailable = new List <ReasonCodeClientSubUnitCountryVM>(); clientSubUnitsAvailable = reasonCodeGroupRepository.GetLinkedClientSubUnits(id, false); reasonCodeGroupClientSubUnits.ClientSubUnitsAvailable = clientSubUnitsAvailable; List <ReasonCodeClientSubUnitCountryVM> clientSubUnitsUnAvailable = new List <ReasonCodeClientSubUnitCountryVM>(); clientSubUnitsUnAvailable = reasonCodeGroupRepository.GetLinkedClientSubUnits(id, true); reasonCodeGroupClientSubUnits.ClientSubUnitsUnAvailable = clientSubUnitsUnAvailable; return(View(reasonCodeGroupClientSubUnits)); }
// GET: /Edit public ActionResult Edit(int id) { //Get Item From Database ReasonCodeGroup group = new ReasonCodeGroup(); group = reasonCodeGroupRepository.GetGroup(id); //Check Exists if (group == null) { ViewData["ActionMethod"] = "EditGet"; return(View("RecordDoesNotExistError")); } //Check Access RolesRepository rolesRepository = new RolesRepository(); if (!rolesRepository.HasWriteAccessToReasonCodeGroup(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; reasonCodeGroupRepository.EditGroupForDisplay(group); return(View(group)); }
public ActionResult EditSequence(int id, int reasonCodeTypeId, int?page) { //Get Item From Database ReasonCodeGroup group = new ReasonCodeGroup(); group = reasonCodeGroupRepository.GetGroup(id); //Check Exists if (group == null) { ViewData["ActionMethod"] = "EditSequenceGet"; return(View("RecordDoesNotExistError")); } //Check Access RolesRepository rolesRepository = new RolesRepository(); if (!rolesRepository.HasWriteAccessToReasonCodeGroup(id)) { ViewData["Message"] = "You do not have access to this item"; return(View("Error")); } ReasonCodeItemSequenceRepository reasonCodeItemSequenceRepository = new ReasonCodeItemSequenceRepository(); ReasonCodeGroupReasonCodeTypeSequencingVM reasonCodeGroupReasonCodeTypeSequencingVM = new ReasonCodeGroupReasonCodeTypeSequencingVM(); reasonCodeGroupReasonCodeTypeSequencingVM.SequenceItems = reasonCodeItemSequenceRepository.GetReasonCodeItemSequences(id, reasonCodeTypeId, page ?? 1); reasonCodeGroupReasonCodeTypeSequencingVM.ReasonCodeGroup = group; reasonCodeGroupReasonCodeTypeSequencingVM.ReasonCodeTypeId = reasonCodeTypeId; reasonCodeGroupReasonCodeTypeSequencingVM.Page = page ?? 1; return(View(reasonCodeGroupReasonCodeTypeSequencingVM)); }
// GET: /Create public ActionResult Create(int id) { //Check Parent Exists ReasonCodeGroup reasonCodeGroup = new ReasonCodeGroup(); reasonCodeGroup = reasonCodeGroupRepository.GetGroup(id); //Check Exists if (reasonCodeGroup == null) { ViewData["ActionMethod"] = "CreatePost"; return(View("RecordDoesNotExistError")); } //Check Access RolesRepository rolesRepository = new RolesRepository(); if (!rolesRepository.HasWriteAccessToReasonCodeGroup(id)) { ViewData["Message"] = "You do not have access to this item"; return(View("Error")); } ReasonCodeProductTypeRepository reasonCodeProductTypeRepository = new ReasonCodeProductTypeRepository(); SelectList reasonCodeList = new SelectList(reasonCodeProductTypeRepository.GetAllReasonCodeProductTypes().ToList(), "ReasonCodeValue", "ReasonCodeValue"); ViewData["ReasonCodes"] = reasonCodeList; ReasonCodeItem reasonCodeItem = new ReasonCodeItem(); reasonCodeItem.ReasonCodeGroupName = reasonCodeGroup.ReasonCodeGroupName; reasonCodeItem.ReasonCodeGroupId = id; reasonCodeItem.TravelerFacingFlag = true; return(View(reasonCodeItem)); }
public ActionResult Create(ReasonCodeItem reasonCodeItem) { //Get ReasonCodeGroup ReasonCodeGroup reasonCodeGroup = new ReasonCodeGroup(); reasonCodeGroup = reasonCodeGroupRepository.GetGroup(reasonCodeItem.ReasonCodeGroupId); //Check Exists if (reasonCodeGroup == null) { ViewData["ActionMethod"] = "CreatePost"; return(View("RecordDoesNotExistError")); } //Check Access RolesRepository rolesRepository = new RolesRepository(); if (!rolesRepository.HasWriteAccessToReasonCodeGroup(reasonCodeItem.ReasonCodeGroupId)) { ViewData["Message"] = "You do not have access to this item"; return(View("Error")); } try { UpdateModel(reasonCodeItem); } 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 { reasonCodeItemRepository.Add(reasonCodeItem); } 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", new { id = reasonCodeItem.ReasonCodeGroupId })); }
//Change the deleted status on an item public void UpdateGroupDeletedStatus(ReasonCodeGroup group) { string adminUserGuid = HttpContext.Current.User.Identity.Name.Split(new[] { '|' })[0]; db.spDesktopDataAdmin_UpdateReasonCodeGroupDeletedStatus_v1( group.ReasonCodeGroupId, group.DeletedFlag, adminUserGuid, group.VersionNumber ); }
// GET: /List public ActionResult List(int id, int?page, string filter, string sortField, int?sortOrder) { //Check Parent Exists ReasonCodeGroup reasonCodeGroup = new ReasonCodeGroup(); reasonCodeGroup = reasonCodeGroupRepository.GetGroup(id); //Check Exists if (reasonCodeGroup == null) { ViewData["ActionMethod"] = "ListGet"; return(View("RecordDoesNotExistError")); } ViewData["Access"] = ""; RolesRepository rolesRepository = new RolesRepository(); if (rolesRepository.HasWriteAccessToReasonCodeGroup(id)) { ViewData["Access"] = "WriteAccess"; } //SortField+SortOrder settings if (sortField != "DisplayOrder" && sortField != "ReasonCode" && sortField != "ReasonCodeTypeDescription" && sortField != "ProductName") { sortField = "DisplayOrder"; } ViewData["CurrentSortField"] = sortField; if (sortOrder == 1) { ViewData["NewSortOrder"] = 0; ViewData["CurrentSortOrder"] = 1; } else { ViewData["NewSortOrder"] = 1; ViewData["CurrentSortOrder"] = 0; sortOrder = 0; } ViewData["ReasonCodeGroupId"] = reasonCodeGroup.ReasonCodeGroupId; ViewData["ReasonCodeGroupName"] = reasonCodeGroup.ReasonCodeGroupName; //not used in this case //ViewData["CurrentSortField"] = "DisplayOrder"; //ViewData["CurrentSortOrder"] = "0"; //return items var cwtPaginatedList = reasonCodeItemRepository.PageReasonCodeItems(id, page ?? 1, filter ?? "", sortField, sortOrder ?? 0); return(View(cwtPaginatedList)); }
public ActionResult EditSequenceTypeSelection(int id) { ReasonCodeGroup reasonCodeGroup = new ReasonCodeGroup(); reasonCodeGroup = reasonCodeGroupRepository.GetGroup(id); ProductReasonItemOrderTypeSelectionVM productReasonItemOrderTypeSelectionVM = new ProductReasonItemOrderTypeSelectionVM(); productReasonItemOrderTypeSelectionVM.ReasonCodeTypes = new SelectList(reasonCodeItemRepository.GetReasonCodeItemReasonCodeTypes(id), "ReasonCodeTypeId", "ReasonCodeTypeDescription"); productReasonItemOrderTypeSelectionVM.ReasonCodeGroup = reasonCodeGroup; return(View(productReasonItemOrderTypeSelectionVM)); }
// GET: /View public ActionResult View(int id) { ReasonCodeGroup group = new ReasonCodeGroup(); group = reasonCodeGroupRepository.GetGroup(id); //Check Exists if (group == null) { ViewData["ActionMethod"] = "ViewGet"; return(View("RecordDoesNotExistError")); } reasonCodeGroupRepository.EditGroupForDisplay(group); return(View(group)); }
public ActionResult LinkedClientSubUnits(int ReasonCodeGroupId, string ClientSubUnitGuid) { //Get Item From Database ReasonCodeGroup group = new ReasonCodeGroup(); group = reasonCodeGroupRepository.GetGroup(ReasonCodeGroupId); //Check Exists if (group == null) { ViewData["ActionMethod"] = "ClientSubUnitPost"; return(View("RecordDoesNotExistError")); } //Check Access Rights RolesRepository rolesRepository = new RolesRepository(); if (!rolesRepository.HasWriteAccessToReasonCodeGroup(ReasonCodeGroupId)) { ViewData["Message"] = "You do not have access to this item"; return(View("Error")); } //Database Update try { reasonCodeGroupRepository.UpdateLinkedClientSubUnit(ReasonCodeGroupId, ClientSubUnitGuid); } catch (SqlException ex) { //Versioning Error if (ex.Message == "SQLVersioningError") { ViewData["ReturnURL"] = "/ReasonCodeGroup.mvc/ClientSubUnit/" + ReasonCodeGroupId.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("LinkedClientSubUnits", new { id = ReasonCodeGroupId })); }
public ActionResult UnDelete(int id, FormCollection collection) { //Get Item From Database ReasonCodeGroup group = new ReasonCodeGroup(); group = reasonCodeGroupRepository.GetGroup(id); //Check Exists if (group == null || group.DeletedFlag == false) { ViewData["ActionMethod"] = "UnDeletePost"; return(View("RecordDoesNotExistError")); } //Check Access RolesRepository rolesRepository = new RolesRepository(); if (!rolesRepository.HasWriteAccessToReasonCodeGroup(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 = false; reasonCodeGroupRepository.UpdateGroupDeletedStatus(group); } catch (SqlException ex) { //Versioning Error - go to standard versionError page if (ex.Message == "SQLVersioningError") { ViewData["ReturnURL"] = "/ReasonCodeGroup.mvc/UnDelete/" + group.ReasonCodeGroupId; 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("ListDeleted")); }
//Add Group public void Add(ReasonCodeGroup group) { string adminUserGuid = HttpContext.Current.User.Identity.Name.Split(new[] { '|' })[0]; db.spDesktopDataAdmin_InsertReasonCodeGroup_v1( adminUserGuid, group.ReasonCodeGroupName, group.EnabledFlag, group.EnabledDate, group.ExpiryDate, group.TripTypeId, group.HierarchyType, group.HierarchyCode, group.TravelerTypeGuid, group.ClientSubUnitGuid, group.SourceSystemCode, adminUserGuid ); }
//Add Data From Linked Tables for Display public void EditItemForDisplay(ReasonCodeItem reasonCodeItem) { ProductRepository productRepository = new ProductRepository(); Product product = new Product(); product = productRepository.GetProduct(reasonCodeItem.ProductId); if (product != null) { reasonCodeItem.ProductName = product.ProductName; } ReasonCodeTypeRepository reasonCodeTypeRepository = new ReasonCodeTypeRepository(); ReasonCodeType reasonCodeType = new ReasonCodeType(); reasonCodeType = reasonCodeTypeRepository.GetItem(reasonCodeItem.ReasonCodeTypeId); if (reasonCodeType != null) { reasonCodeItem.ReasonCodeTypeDescription = reasonCodeType.ReasonCodeTypeDescription; } ReasonCodeProductTypeDescriptionRepository reasonCodeProductTypeDescriptionRepository = new ReasonCodeProductTypeDescriptionRepository(); ReasonCodeProductTypeDescription reasonCodeProductTypeDescription = new ReasonCodeProductTypeDescription(); reasonCodeProductTypeDescription = reasonCodeProductTypeDescriptionRepository.GetItem( "en-GB", reasonCodeItem.ReasonCode, reasonCodeItem.ProductId, reasonCodeItem.ReasonCodeTypeId ); reasonCodeItem.ReasonCodeDescription = (reasonCodeProductTypeDescription != null) ? reasonCodeProductTypeDescription.ReasonCodeProductTypeDescription1 : String.Empty; ReasonCodeGroupRepository reasonCodeGroupRepository = new ReasonCodeGroupRepository(); ReasonCodeGroup reasonCodeGroup = new ReasonCodeGroup(); reasonCodeGroup = reasonCodeGroupRepository.GetGroup(reasonCodeItem.ReasonCodeGroupId); if (reasonCodeGroup != null) { reasonCodeItem.ReasonCodeGroupName = reasonCodeGroup.ReasonCodeGroupName; } }
//Edit Group public void Edit(ReasonCodeGroup group) { string adminUserGuid = HttpContext.Current.User.Identity.Name.Split(new[] { '|' })[0]; db.spDesktopDataAdmin_UpdateReasonCodeGroup_v1( adminUserGuid, group.ReasonCodeGroupId, group.ReasonCodeGroupName, group.EnabledFlag, group.EnabledDate, group.ExpiryDate, group.TripTypeId, group.HierarchyType, group.HierarchyCode, group.TravelerTypeGuid, group.ClientSubUnitGuid, group.SourceSystemCode, group.IsMultipleHierarchy, adminUserGuid, group.VersionNumber ); }
// 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; ReasonCodeGroup group = new ReasonCodeGroup(); return(View(group)); }
// GET: /UnDelete public ActionResult UnDelete(int id) { //Get Item From Database ReasonCodeGroup group = new ReasonCodeGroup(); group = reasonCodeGroupRepository.GetGroup(id); //Check Exists if (group == null || group.DeletedFlag == false) { ViewData["ActionMethod"] = "UnDeleteGet"; return(View("RecordDoesNotExistError")); } //Check AccessRights RolesRepository rolesRepository = new RolesRepository(); if (!rolesRepository.HasWriteAccessToReasonCodeGroup(id)) { ViewData["Message"] = "You do not have access to this item"; return(View("Error")); } reasonCodeGroupRepository.EditGroupForDisplay(group); return(View(group)); }
public ActionResult EditSequence(ReasonCodeGroupReasonCodeTypeSequencingVM reasonCodeGroupReasonCodeTypeSequencingVM, FormCollection collection) { int reasonCodeGroupId = reasonCodeGroupReasonCodeTypeSequencingVM.ReasonCodeGroup.ReasonCodeGroupId; int reasonCodeTypeId = reasonCodeGroupReasonCodeTypeSequencingVM.ReasonCodeTypeId; int page = reasonCodeGroupReasonCodeTypeSequencingVM.Page; //Check Exists ReasonCodeGroup reasonCodeGroup = new ReasonCodeGroup(); reasonCodeGroup = reasonCodeGroupRepository.GetGroup(reasonCodeGroupId); if (reasonCodeGroup == null) { return(View("Error")); } //Check Access Rights RolesRepository rolesRepository = new RolesRepository(); if (!rolesRepository.HasWriteAccessToReasonCodeGroup(reasonCodeGroupId)) { ViewData["Message"] = "You do not have access to this item"; return(View("Error")); } string[] sequences = collection["RCSequence"].Split(new char[] { ',' }); int sequence = (page - 1 * 5) - 2; if (sequence < 0) { sequence = 1; } XmlDocument doc = new XmlDocument(); XmlDeclaration xmlDeclaration = doc.CreateXmlDeclaration("1.0", "UTF-8", null); XmlElement root = doc.DocumentElement; doc.InsertBefore(xmlDeclaration, root); XmlElement rootElement = doc.CreateElement(string.Empty, "SequenceXML", string.Empty); doc.AppendChild(rootElement); foreach (string s in sequences) { string[] reasonCodeItemPK = s.Split(new char[] { '_' }); int reasonCodeItemId = Convert.ToInt32(reasonCodeItemPK[0]); int versionNumber = Convert.ToInt32(reasonCodeItemPK[1]); XmlElement itemElement = doc.CreateElement(string.Empty, "Item", string.Empty); XmlElement sequenceElement = doc.CreateElement(string.Empty, "Sequence", string.Empty); XmlCDataSection sequenceText = doc.CreateCDataSection(HttpUtility.HtmlEncode(sequence.ToString())); sequenceElement.AppendChild(sequenceText); itemElement.AppendChild(sequenceElement); XmlElement reasonCodeItemIdElement = doc.CreateElement(string.Empty, "ReasonCodeItemId", string.Empty); XmlCDataSection reasonCodeItemIdText = doc.CreateCDataSection(HttpUtility.HtmlEncode(reasonCodeItemId.ToString())); reasonCodeItemIdElement.AppendChild(reasonCodeItemIdText); itemElement.AppendChild(reasonCodeItemIdElement); XmlElement versionNumberElement = doc.CreateElement(string.Empty, "VersionNumber", string.Empty); XmlCDataSection versionNumberText = doc.CreateCDataSection(HttpUtility.HtmlEncode(versionNumber.ToString())); versionNumberElement.AppendChild(versionNumberText); itemElement.AppendChild(versionNumberElement); rootElement.AppendChild(itemElement); sequence = sequence + 1; } try { ReasonCodeItemSequenceRepository reasonCodeItemSequenceRepository = new ReasonCodeItemSequenceRepository(); reasonCodeItemSequenceRepository.UpdateReasonCodeItemSequences(doc.OuterXml); } catch (SqlException ex) { //Versioning Error if (ex.Message == "SQLVersioningError") { ViewData["ReturnURL"] = "/ReasonCodeItem.mvc/EditSequence?ReasonCodeTypeId=" + reasonCodeTypeId + "&id=" + reasonCodeGroupId + "?page=" + page; 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("List", new { id = reasonCodeGroupId })); }
//Add Data From Linked Tables for Display public void EditGroupForDisplay(ReasonCodeGroup group) { TripTypeRepository tripTypeRepository = new TripTypeRepository(); TripType tripType = new TripType(); tripType = tripTypeRepository.GetTripType(group.TripTypeId); if (tripType != null) { group.TripType = tripType.TripTypeDescription; } group.ReasonCodeGroupName = Regex.Replace(group.ReasonCodeGroupName, @"[^\w\-()*]", "-"); //Hierarchy HierarchyRepository hierarchyRepository = new HierarchyRepository(); List <fnDesktopDataAdmin_SelectReasonCodeGroupHierarchy_v1Result> hierarchy = GetGroupHierarchy(group.ReasonCodeGroupId); if (hierarchy.Count > 0) { if (hierarchy.Count == 1) { 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; } } else { List <MultipleHierarchyDefinition> multipleHierarchies = new List <MultipleHierarchyDefinition>(); foreach (fnDesktopDataAdmin_SelectReasonCodeGroupHierarchy_v1Result item in hierarchy) { multipleHierarchies.Add(new MultipleHierarchyDefinition() { HierarchyType = item.HierarchyType, HierarchyItem = item.HierarchyName, HierarchyCode = item.HierarchyCode, TravelerTypeGuid = item.TravelerTypeGuid, SourceSystemCode = item.SourceSystemCode }); } group.ClientSubUnitsHierarchy = hierarchyRepository.GetClientSubUnitHierarchies(multipleHierarchies); ClientSubUnitRepository clientSubUnitRepository = new ClientSubUnitRepository(); group.ClientTopUnitName = clientSubUnitRepository.GetClientSubUnitClientTopUnitName(group.ClientSubUnitsHierarchy.First().ClientSubUnitGuid); } } if (hierarchy.Count > 1) { group.IsMultipleHierarchy = true; group.HierarchyType = "Multiple"; group.HierarchyItem = "Multiple"; group.HierarchyCode = "Multiple"; } else { group.IsMultipleHierarchy = false; } }
public ActionResult Edit(int id, FormCollection collection) { //Get Item From Database ReasonCodeGroup group = new ReasonCodeGroup(); group = reasonCodeGroupRepository.GetGroup(id); //Check Exists if (group == null) { ViewData["ActionMethod"] = "EditPost"; return(View("RecordDoesNotExistError")); } //Check Access RolesRepository rolesRepository = new RolesRepository(); if (!rolesRepository.HasWriteAccessToReasonCodeGroup(group.ReasonCodeGroupId)) { 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")); } //Dont check for multiple as We are not editing Hierarchy, we have alrady checked access to the item itself if (group.HierarchyType != "Multiple") { //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 { reasonCodeGroupRepository.Edit(group); } catch (SqlException ex) { //Versioning Error if (ex.Message == "SQLVersioningError") { ViewData["ReturnURL"] = "/ReasonCodeGroup.mvc/Edit/" + group.ReasonCodeGroupId.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(ReasonCodeGroup 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 { reasonCodeGroupRepository.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")); }