// GET: /Create public ActionResult Create(int id) { //Check Access Rights to Domain if (!hierarchyRepository.AdminHasDomainWriteAccess(groupName)) { ViewData["Message"] = "You do not have access to this item"; return(View("Error")); } //Check Access RolesRepository rolesRepository = new RolesRepository(); if (!rolesRepository.HasWriteAccessToApprovalGroup(id)) { ViewData["Message"] = "You do not have access to this item"; return(View("Error")); } ApprovalItemVM approvalItemVM = new ApprovalItemVM(); ApprovalGroup approvalGroup = new ApprovalGroup(); approvalGroup = approvalGroupRepository.GetGroup(id); if (approvalGroup != null) { ApprovalItem approvalItem = new ApprovalItem(); approvalItem.ApprovalGroupId = approvalGroup.ApprovalGroupId; approvalItemVM.ApprovalItem = approvalItem; ViewData["ApprovalGroupId"] = approvalGroup.ApprovalGroupId; ViewData["ApprovalGroupName"] = approvalGroup.ApprovalGroupName; } return(View(approvalItemVM)); }
// GET: /View public ActionResult View(int id) { ApprovalItem approvalItem = new ApprovalItem(); approvalItem = approvalItemRepository.ApprovalItem(id); //Check Exists if (approvalItem == null) { ViewData["ActionMethod"] = "ViewGet"; return(View("RecordDoesNotExistError")); } ApprovalItemVM approvalItemVM = new ApprovalItemVM(); approvalItemVM.ApprovalItem = approvalItem; ApprovalGroup approvalGroup = new ApprovalGroup(); approvalGroup = approvalGroupRepository.GetGroup(approvalItem.ApprovalGroupId); if (approvalGroup != null) { approvalItem.ApprovalGroupId = approvalGroup.ApprovalGroupId; approvalItemVM.ApprovalItem = approvalItem; ViewData["ApprovalGroupId"] = approvalGroup.ApprovalGroupId; ViewData["ApprovalGroupName"] = approvalGroup.ApprovalGroupName; } return(View(approvalItemVM)); }
public async Task <ActionResult <ApprovalGroup> > PostApprovalGroup(ApprovalGroup approvalGroup) { _context.ApprovalGroups.Add(approvalGroup); await _context.SaveChangesAsync(); return(CreatedAtAction("GetApprovalGroup", new { id = approvalGroup.Id }, approvalGroup)); }
public static async Task CreateApprovalGroup() { Printer.PrintStepTitle("Creates New Approval Group"); var parameters = new ApprovalGroupCreateParameters { ApprovalId = TestContainer.Approval.Id, Name = "Test Group", NumberOfDecisionsRequired = 3, Version = TestContainer.Approval.Versions.FirstOrDefault().Version }; Printer.Print("Creating group..."); var approvalGroupCreateResult = await ApiClient.Approvals.AddApprovalGroup(parameters); var approvalGroup = new ApprovalGroup { Id = approvalGroupCreateResult.ApprovalGroupId, Name = parameters.Name, NumberOfDecisionsRequired = parameters.NumberOfDecisionsRequired.Value }; TestContainer.Approval.Versions.FirstOrDefault().ApprovalGroups.Add(approvalGroup); Printer.Print($"Successfully created approval group!"); }
// GET: /UnDelete public ActionResult UnDelete(int id) { //Get Item From Database ApprovalGroup group = new ApprovalGroup(); group = approvalGroupRepository.GetGroup(id); //Check Exists if (group == null || group.DeletedFlag == false) { ViewData["ActionMethod"] = "UnDeleteGet"; return(View("RecordDoesNotExistError")); } //Check AccessRights RolesRepository rolesRepository = new RolesRepository(); if (!rolesRepository.HasWriteAccessToApprovalGroup(id)) { ViewData["Message"] = "You do not have access to this item"; return(View("Error")); } approvalGroupRepository.EditGroupForDisplay(group); return(View(group)); }
//Edit Group public void Edit(ApprovalGroup group) { string adminUserGuid = HttpContext.Current.User.Identity.Name.Split(new[] { '|' })[0]; XmlDocument approvalGroupApprovalTypeItems = GetApprovalGroupApprovalTypeItemsToXML(group); db.spDesktopDataAdmin_UpdateApprovalGroup_v1( adminUserGuid, group.ApprovalGroupId, group.ApprovalGroupName, group.EnabledFlag, group.EnabledDate, group.ExpiryDate, group.InheritFromParentFlag, group.HierarchyType, group.HierarchyCode, group.TravelerTypeGuid, group.ClientSubUnitGuid, group.SourceSystemCode, group.IsMultipleHierarchy, System.Xml.Linq.XElement.Parse(approvalGroupApprovalTypeItems.OuterXml), adminUserGuid, group.VersionNumber ); }
public async Task <IActionResult> PutApprovalGroup(int id, ApprovalGroup approvalGroup) { if (id != approvalGroup.Id) { return(BadRequest()); } _context.Entry(approvalGroup).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ApprovalGroupExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
// GET: /List public ActionResult List(int id, string filter, int?page, string sortField, int?sortOrder) { RolesRepository rolesRepository = new RolesRepository(); //Set Access Rights ViewData["Access"] = ""; if (hierarchyRepository.AdminHasDomainWriteAccess(groupName) && rolesRepository.HasWriteAccessToApprovalGroup(id)) { ViewData["Access"] = "WriteAccess"; } //SortField if (string.IsNullOrEmpty(sortField)) { sortField = "ProductName"; } ViewData["CurrentSortField"] = sortField; //SortOrder if (sortOrder == 1) { ViewData["NewSortOrder"] = 0; ViewData["CurrentSortOrder"] = 1; } else { ViewData["NewSortOrder"] = 1; ViewData["CurrentSortOrder"] = 0; } if (approvalItemRepository == null) { ViewData["ActionMethod"] = "ListGet"; return(View("Error")); } ApprovalGroup approvalGroup = new ApprovalGroup(); approvalGroup = approvalGroupRepository.GetGroup(id); if (approvalGroup != null) { ViewData["ApprovalGroupId"] = approvalGroup.ApprovalGroupId; ViewData["ApprovalGroupName"] = approvalGroup.ApprovalGroupName; } var cwtPaginatedList = approvalItemRepository.PageApprovalItems(id, page ?? 1, filter ?? "", sortField, sortOrder ?? 0); if (cwtPaginatedList == null) { ViewData["ActionMethod"] = "ListGet"; return(View("Error")); } //return items return(View(cwtPaginatedList)); }
//Change the deleted status on an item public void UpdateGroupDeletedStatus(ApprovalGroup group) { string adminUserGuid = HttpContext.Current.User.Identity.Name.Split(new[] { '|' })[0]; db.spDesktopDataAdmin_UpdateApprovalGroupDeletedStatus_v1( group.ApprovalGroupId, group.DeletedFlag, adminUserGuid, group.VersionNumber ); }
// GET: /View public ActionResult View(int id) { ApprovalGroup group = new ApprovalGroup(); group = approvalGroupRepository.GetGroup(id); //Check Exists if (group == null) { ViewData["ActionMethod"] = "ViewGet"; return(View("RecordDoesNotExistError")); } approvalGroupRepository.EditGroupForDisplay(group); return(View(group)); }
public ActionResult Delete(int id, FormCollection collection) { //Get Item From Database ApprovalGroup group = new ApprovalGroup(); group = approvalGroupRepository.GetGroup(id); //Check Exists if (group == null || group.DeletedFlag == true) { ViewData["ActionMethod"] = "DeletePost"; return(View("RecordDoesNotExistError")); } //Check Access RolesRepository rolesRepository = new RolesRepository(); if (!rolesRepository.HasWriteAccessToApprovalGroup(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; approvalGroupRepository.UpdateGroupDeletedStatus(group); } catch (SqlException ex) { //Versioning Error - go to standard versionError page if (ex.Message == "SQLVersioningError") { ViewData["ReturnURL"] = "/ApprovalGroup.mvc/Delete/" + group.ApprovalGroupId; 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 async Task <ActionResult <ApprovalGroup> > PostApprovalGroup(ApprovalGroup approvalGroup) { var aprGrpCode = _context.ApprovalGroups.Where(a => a.ApprovalGroupCode == approvalGroup.ApprovalGroupCode).FirstOrDefault(); if (aprGrpCode != null) { return(Conflict(new RespStatus { Status = "Failure", Message = "Approval Group Code Already Exists" })); } _context.ApprovalGroups.Add(approvalGroup); await _context.SaveChangesAsync(); return(Ok(new RespStatus { Status = "Success", Message = "Approval Group Created!" })); }
// GET: /Edit public ActionResult Edit(int id) { //Get Item From Database ApprovalItem approvalItem = new ApprovalItem(); approvalItem = approvalItemRepository.ApprovalItem(id); //Check Exists if (approvalItem == null) { ViewData["ActionMethod"] = "EditGet"; return(View("RecordDoesNotExistError")); } //Check Access RolesRepository rolesRepository = new RolesRepository(); if (!rolesRepository.HasWriteAccessToApprovalGroup(approvalItem.ApprovalGroupId)) { ViewData["Message"] = "You do not have access to this item"; return(View("Error")); } ApprovalItemVM approvalItemVM = new ApprovalItemVM(); approvalItemRepository.EditForDisplay(approvalItem); ApprovalGroup approvalGroup = new ApprovalGroup(); approvalGroup = approvalGroupRepository.GetGroup(approvalItem.ApprovalGroupId); if (approvalGroup != null) { approvalItem.ApprovalGroupId = approvalGroup.ApprovalGroupId; approvalItemVM.ApprovalItem = approvalItem; ViewData["ApprovalGroupId"] = approvalGroup.ApprovalGroupId; ViewData["ApprovalGroupName"] = approvalGroup.ApprovalGroupName; } return(View(approvalItemVM)); }
// 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")); } TablesDomainHierarchyLevelRepository tablesDomainHierarchyLevelRepository = new TablesDomainHierarchyLevelRepository(); SelectList hierarchyTypesList = new SelectList(tablesDomainHierarchyLevelRepository.GetDomainHierarchies(groupName).ToList(), "HierarchyLevelTableName", "HierarchyLevelTableName"); ViewData["HierarchyTypes"] = hierarchyTypesList; //ApprovalGroupApprovalTypeItems SelectList approvalGroupApprovalTypes = new SelectList(approvalGroupApprovalTypeRepository.GetAllApprovalGroupApprovalTypes().ToList(), "ApprovalGroupApprovalTypeId", "ApprovalGroupApprovalTypeDescription"); ViewData["ApprovalGroupApprovalTypes"] = approvalGroupApprovalTypes; ApprovalGroup group = new ApprovalGroup(); return(View(group)); }
private XmlDocument GetApprovalGroupApprovalTypeItemsToXML(ApprovalGroup group) { XmlDocument doc = new XmlDocument(); XmlDeclaration dec = doc.CreateXmlDeclaration("1.0", null, null); doc.AppendChild(dec); XmlElement root = doc.CreateElement("ApprovalGroupApprovalTypeItems"); doc.AppendChild(root); if (group.ApprovalGroupApprovalTypeItems != null) { foreach (ApprovalGroupApprovalTypeItem approvalGroupApprovalTypeItem in group.ApprovalGroupApprovalTypeItems) { if (approvalGroupApprovalTypeItem != null) { if (approvalGroupApprovalTypeItem.ApprovalGroupApprovalTypeId != 0 && approvalGroupApprovalTypeItem.ApprovalGroupApprovalTypeItemValue != null) { XmlElement xmlApprovalGroupApprovalType = doc.CreateElement("ApprovalGroupApprovalTypeItem"); XmlElement xmlApprovalGroupApprovalTypeId = doc.CreateElement("ApprovalGroupApprovalTypeId"); xmlApprovalGroupApprovalTypeId.InnerText = approvalGroupApprovalTypeItem.ApprovalGroupApprovalTypeId.ToString(); xmlApprovalGroupApprovalType.AppendChild(xmlApprovalGroupApprovalTypeId); XmlElement xmlApprovalGroupApprovalTypeItemValue = doc.CreateElement("ApprovalGroupApprovalTypeItemValue"); xmlApprovalGroupApprovalTypeItemValue.InnerText = approvalGroupApprovalTypeItem.ApprovalGroupApprovalTypeItemValue; xmlApprovalGroupApprovalType.AppendChild(xmlApprovalGroupApprovalTypeItemValue); root.AppendChild(xmlApprovalGroupApprovalType); } } } } return(doc); }
// GET: /Edit public ActionResult Edit(int id) { //Get Item From Database ApprovalGroup group = new ApprovalGroup(); group = approvalGroupRepository.GetGroup(id); //Check Exists if (group == null) { ViewData["ActionMethod"] = "EditGet"; return(View("RecordDoesNotExistError")); } //Check Access RolesRepository rolesRepository = new RolesRepository(); if (!rolesRepository.HasWriteAccessToApprovalGroup(id)) { ViewData["Message"] = "You do not have access to this item"; return(View("Error")); } TablesDomainHierarchyLevelRepository tablesDomainHierarchyLevelRepository = new TablesDomainHierarchyLevelRepository(); SelectList hierarchyTypesList = new SelectList(tablesDomainHierarchyLevelRepository.GetDomainHierarchies(groupName).ToList(), "HierarchyLevelTableName", "HierarchyLevelTableName"); ViewData["HierarchyTypes"] = hierarchyTypesList; //ApprovalGroupApprovalTypeItems SelectList approvalGroupApprovalTypes = new SelectList(approvalGroupApprovalTypeRepository.GetAllApprovalGroupApprovalTypes().ToList(), "ApprovalGroupApprovalTypeId", "ApprovalGroupApprovalTypeDescription"); ViewData["ApprovalGroupApprovalTypes"] = approvalGroupApprovalTypes; approvalGroupRepository.EditGroupForDisplay(group); return(View(group)); }
//Add Data From Linked Tables for Display public void EditGroupForDisplay(ApprovalGroup group) { TripTypeRepository tripTypeRepository = new TripTypeRepository(); TripType tripType = new TripType(); tripType = tripTypeRepository.GetTripType(group.TripTypeId); if (tripType != null) { group.TripType = tripType; } group.ApprovalGroupName = Regex.Replace(group.ApprovalGroupName, @"[^\w\-()*]", "-"); List <fnDesktopDataAdmin_SelectApprovalGroupHierarchy_v1Result> hierarchy = new List <fnDesktopDataAdmin_SelectApprovalGroupHierarchy_v1Result>(); hierarchy = GetGroupHierarchy(group.ApprovalGroupId); 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; } //ApprovalGroupApprovalTypeItems ApprovalGroupApprovalTypeRepository approvalGroupApprovalTypeRepository = new ApprovalGroupApprovalTypeRepository(); if (group.ApprovalGroupApprovalTypeItems != null && group.ApprovalGroupApprovalTypeItems.Count > 0) { foreach (ApprovalGroupApprovalTypeItem approvalGroupApprovalTypeItems in group.ApprovalGroupApprovalTypeItems) { approvalGroupApprovalTypeItems.ApprovalGroupApprovalTypes = new SelectList(approvalGroupApprovalTypeRepository.GetAllApprovalGroupApprovalTypes().ToList(), "ApprovalGroupApprovalTypeId", "ApprovalGroupApprovalTypeDescription", approvalGroupApprovalTypeItems.ApprovalGroupApprovalTypeId); } } }
public ApprovalItemVM(ApprovalItem approvalItem, ApprovalGroup approvalGroup) { ApprovalItem = approvalItem; ApprovalGroup = approvalGroup; }
public static ApprovalGroupModel ToModel(this ApprovalGroup entity, IObjectMapper ObjectMapper) { return(entity.MapTo <ApprovalGroup, ApprovalGroupModel>(ObjectMapper)); }
public ActionResult Edit(int id, FormCollection collection) { //Get Item From Database ApprovalGroup group = new ApprovalGroup(); group = approvalGroupRepository.GetGroup(id); //Check Exists if (group == null) { ViewData["ActionMethod"] = "EditPost"; return(View("RecordDoesNotExistError")); } //Check Access RolesRepository rolesRepository = new RolesRepository(); if (!rolesRepository.HasWriteAccessToApprovalGroup(group.ApprovalGroupId)) { 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")); } 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 Hierarchy 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")); } } //Create Approval Group Approval Type Items from Post values System.Data.Linq.EntitySet <ApprovalGroupApprovalTypeItem> approvalGroupApprovalTypeItems = new System.Data.Linq.EntitySet <ApprovalGroupApprovalTypeItem>(); foreach (string key in collection) { if (key.StartsWith("ApprovalGroupApprovalTypeItem") && !string.IsNullOrEmpty(collection[key])) { string[] values = collection[key].Split(','); if (values[0] != null && values[1] != null && !string.IsNullOrEmpty(values[0]) && !string.IsNullOrEmpty(values[1])) { ApprovalGroupApprovalTypeItem approvalGroupApprovalTypeItem = new ApprovalGroupApprovalTypeItem() { ApprovalGroupApprovalTypeId = int.Parse(values[0]), ApprovalGroupApprovalTypeItemValue = values[1] }; approvalGroupApprovalTypeItems.Add(approvalGroupApprovalTypeItem); } } } //Remove Approval Group Approval Type Items if not set, otherwise add new ones in group.ApprovalGroupApprovalTypeItems = (approvalGroupApprovalTypeItems != null && approvalGroupApprovalTypeItems.Count > 0) ? approvalGroupApprovalTypeItems : null; //Database Update try { approvalGroupRepository.Edit(group); } catch (SqlException ex) { //Versioning Error if (ex.Message == "SQLVersioningError") { ViewData["ReturnURL"] = "/ApprovalGroup.mvc/Edit/" + group.ApprovalGroupId.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(ApprovalGroup group, FormCollection collection) { //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 } //Create Approval Group Approval Type Items from Post values System.Data.Linq.EntitySet <ApprovalGroupApprovalTypeItem> approvalGroupApprovalTypeItems = new System.Data.Linq.EntitySet <ApprovalGroupApprovalTypeItem>(); foreach (string key in collection) { if (key.StartsWith("ApprovalGroupApprovalTypeItem") && !string.IsNullOrEmpty(collection[key])) { string[] values = collection[key].Split(','); if (values[0] != null && values[1] != null && !string.IsNullOrEmpty(values[0]) && !string.IsNullOrEmpty(values[1])) { ApprovalGroupApprovalTypeItem approvalGroupApprovalTypeItem = new ApprovalGroupApprovalTypeItem() { ApprovalGroupApprovalTypeId = int.Parse(values[0]), ApprovalGroupApprovalTypeItemValue = values[1] }; approvalGroupApprovalTypeItems.Add(approvalGroupApprovalTypeItem); } } } //Add Approval Group Approval Type Items group.ApprovalGroupApprovalTypeItems = approvalGroupApprovalTypeItems; //Database Update try { approvalGroupRepository.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")); }
public static ApprovalGroup ToEntity(this ApprovalGroupModel model, ApprovalGroup destination, IObjectMapper ObjectMapper) { return(model.MapTo(destination, ObjectMapper)); }