//Change the deleted status on an item
        public void UpdateLinkedHierarchy(GroupHierarchyVM groupHierarchyVM)
        {
            string adminUserGuid = HttpContext.Current.User.Identity.Name.Split(new[] { '|' })[0];

            db.spDesktopDataAdmin_UpdateOptionalFieldGroupLinkedHierarchy_v1(
                groupHierarchyVM.GroupId,
                groupHierarchyVM.HierarchyType,
                groupHierarchyVM.HierarchyCode,
                adminUserGuid
                );
        }
        //Change the deleted status on an item
        public void UpdateLinkedHierarchy(GroupHierarchyVM groupHierarchyVM)
        {
            string adminUserGuid = HttpContext.Current.User.Identity.Name.Split(new[] { '|' })[0];

            db.spDesktopDataAdmin_UpdateClientFeeGroupLinkedHierarchy_v1(
                groupHierarchyVM.GroupId,
                groupHierarchyVM.HierarchyType,
                groupHierarchyVM.HierarchyCode,
                groupHierarchyVM.TravelerTypeGuid,
                groupHierarchyVM.ClientSubUnitGuid,
                groupHierarchyVM.SourceSystemCode,
                adminUserGuid
                );
        }
        public ActionResult AddRemoveHierarchy(GroupHierarchyVM groupHierarchyVM)
        {
            //Get Item From Database
            ClientFeeGroup group = new ClientFeeGroup();

            group = clientFeeGroupRepository.GetGroup(groupHierarchyVM.GroupId);

            //Check Exists
            if (group == null)
            {
                ViewData["ActionMethod"] = "AddRemoveHierarchyPost";
                return(View("RecordDoesNotExistError"));
            }
            //Check Access
            RolesRepository rolesRepository = new RolesRepository();

            if (!rolesRepository.HasWriteAccessToClientFeeGroup(groupHierarchyVM.GroupId))
            {
                ViewData["Message"] = "You do not have access to this item";
                return(View("Error"));
            }
            //Delete Item
            try
            {
                clientFeeGroupRepository.UpdateLinkedHierarchy(groupHierarchyVM);
            }
            catch (SqlException ex)
            {
                //Versioning Error - go to standard versionError page
                if (ex.Message == "SQLVersioningError")
                {
                    ViewData["ReturnURL"] = "/ClientFeeGroup.mvc/HierarchySearch/" + group.ClientFeeGroupId;
                    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("HierarchySearch", new { id = group.ClientFeeGroupId, p = groupHierarchyVM.FilterHierarchySearchProperty, t = groupHierarchyVM.FilterHierarchySearchText, h = clientFeeGroupRepository.getHierarchyType(groupHierarchyVM.FilterHierarchySearchProperty) }));
        }