public ActionResult Create(ClientProfileAdminGroupVM clientProfileAdminGroupVM)
        {
            //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
            ClientProfileAdminGroup clientProfileAdminGroup = new ClientProfileAdminGroup();

            clientProfileAdminGroup = clientProfileAdminGroupVM.ClientProfileAdminGroup;
            if (clientProfileAdminGroup == null)
            {
                ViewData["Message"] = "ValidationError : missing item";;
                return(View("Error"));
            }

            //Update Model From Form + Validate against DB
            try
            {
                UpdateModel <ClientProfileAdminGroup>(clientProfileAdminGroup, "ClientProfileAdminGroup");
            }
            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
            {
                clientProfileAdminGroupRepository.Add(clientProfileAdminGroup);
            }
            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 ActionResult Delete(int id)
        {
            //Get Item From Database
            ClientProfileAdminGroup clientProfileAdminGroup = new ClientProfileAdminGroup();

            clientProfileAdminGroup = clientProfileAdminGroupRepository.GetGroup(id);

            //Check Exists
            if (clientProfileAdminGroup == null || clientProfileAdminGroup.DeletedFlag == true)
            {
                ViewData["ActionMethod"] = "DeleteGet";
                return(View("RecordDoesNotExistError"));
            }
            //Check Access
            RolesRepository rolesRepository = new RolesRepository();

            if (!rolesRepository.HasWriteAccessToClientProfileAdminGroup(id))
            {
                ViewData["Message"] = "You do not have access to this item";
                return(View("Error"));
            }

            ClientProfileAdminGroupVM clientProfileAdminGroupVM = new ClientProfileAdminGroupVM();

            clientProfileAdminGroupRepository.EditGroupForDisplay(clientProfileAdminGroup);
            clientProfileAdminGroupVM.ClientProfileAdminGroup = clientProfileAdminGroup;

            return(View(clientProfileAdminGroupVM));
        }
        //
        // GET: /ClientProfileAdminItem/List

        public ActionResult List(int id, int?clientProfilePanelId)
        {
            ClientProfileAdminItemsVM clientProfileAdminItemsVM = new ClientProfileAdminItemsVM();

            //Set Access Rights
            if (hierarchyRepository.AdminHasDomainWriteAccess(groupName))
            {
                clientProfileAdminItemsVM.HasDomainWriteAccess = true;
            }

            //Get the ClientProfileAdminGroup
            ClientProfileAdminGroup clientProfileAdminGroup = new ClientProfileAdminGroup();

            clientProfileAdminGroup = clientProfileAdminGroupRepository.GetGroup(id);
            clientProfileAdminGroupRepository.EditGroupForDisplay(clientProfileAdminGroup);

            clientProfileAdminItemsVM.ClientProfileAdminGroupId = clientProfileAdminGroup.ClientProfileAdminGroupId;
            clientProfileAdminItemsVM.ClientProfileAdminGroupClientProfileGroupName = clientProfileAdminGroup.ClientProfileGroupName;
            clientProfileAdminItemsVM.ClientProfileAdminGroupGDSName       = clientProfileAdminGroup.GDS.GDSName;
            clientProfileAdminItemsVM.ClientProfileAdminGroupGDSCode       = clientProfileAdminGroup.GDS.GDSCode;
            clientProfileAdminItemsVM.ClientProfileAdminGroupHierarchyItem = clientProfileAdminGroup.HierarchyItem;
            clientProfileAdminItemsVM.ClientProfileAdminGroupBackOfficeSystemDescription = clientProfileAdminGroup.BackOfficeSystem.BackOfficeSystemDescription;
            clientProfileAdminItemsVM.ClientProfilePanelId = clientProfilePanelId ?? 0;

            //Get a list of ClientProfileAdminItems for each panel
            clientProfileAdminItemsVM.ClientProfileAdminItemsClientDetails = clientProfileAdminItemRepository.GetClientProfilePanelClientProfileDataElements(id, 6);
            clientProfileAdminItemsVM.ClientProfileAdminItemsMidOffice     = clientProfileAdminItemRepository.GetClientProfilePanelClientProfileDataElements(id, 3);
            clientProfileAdminItemsVM.ClientProfileAdminItemsBackOffice    = clientProfileAdminItemRepository.GetClientProfilePanelClientProfileDataElements(id, 5);
            clientProfileAdminItemsVM.ClientProfileAdminItemsAirRailPolicy = clientProfileAdminItemRepository.GetClientProfilePanelClientProfileDataElements(id, 7);
            clientProfileAdminItemsVM.ClientProfileAdminItemsItinerary     = clientProfileAdminItemRepository.GetClientProfilePanelClientProfileDataElements(id, 9);
            clientProfileAdminItemsVM.ClientProfileAdminItems24Hours       = clientProfileAdminItemRepository.GetClientProfilePanelClientProfileDataElements(id, 10);
            clientProfileAdminItemsVM.ClientProfileAdminItemsAmadeusTPM    = clientProfileAdminItemRepository.GetClientProfilePanelClientProfileDataElements(id, 11);

            return(View(clientProfileAdminItemsVM));
        }
        //
        // GET: /ClientProfileAdminGroup/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"));
            }

            ClientProfileAdminGroupVM clientProfileAdminGroupVM = new ClientProfileAdminGroupVM();

            //GDS List
            GDSRepository gDSRepository = new GDSRepository();
            SelectList    gDSs          = new SelectList(gDSRepository.GetClientProfileBuilderGDSs().ToList(), "GDSCode", "GDSName");

            clientProfileAdminGroupVM.GDSs = gDSs;

            //BackOfficeSystem List
            BackOfficeSystemRepository backOfficeSystemRepository = new BackOfficeSystemRepository();
            SelectList backOffices = new SelectList(backOfficeSystemRepository.GetAllBackOfficeSystems().ToList(), "BackOfficeSytemId", "BackOfficeSystemDescription");

            clientProfileAdminGroupVM.BackOffices = backOffices;

            //Hierarchy List
            TablesDomainHierarchyLevelRepository tablesDomainHierarchyLevelRepository = new TablesDomainHierarchyLevelRepository();
            SelectList hierarchyTypesList = new SelectList(tablesDomainHierarchyLevelRepository.GetDomainHierarchies(groupName).ToList(), "HierarchyLevelTableName", "HierarchyLevelTableName");

            clientProfileAdminGroupVM.HierarchyTypes = hierarchyTypesList;

            ClientProfileAdminGroup clientProfileAdminGroup = new ClientProfileAdminGroup();

            clientProfileAdminGroupVM.ClientProfileAdminGroup = clientProfileAdminGroup;

            return(View(clientProfileAdminGroupVM));
        }
예제 #5
0
 public ClientProfileAdminGroupVM(ClientProfileAdminGroup clientProfileAdminGroup,
                                  IEnumerable <SelectListItem> hierarchyTypes,
                                  IEnumerable <SelectListItem> gDSs,
                                  IEnumerable <SelectListItem> backOffices)
 {
     ClientProfileAdminGroup = clientProfileAdminGroup;
     HierarchyTypes          = hierarchyTypes;
     GDSs        = gDSs;
     BackOffices = backOffices;
 }
        //Change the deleted status on an item
        public void UpdateGroupDeletedStatus(ClientProfileAdminGroup group)
        {
            string adminUserGuid = HttpContext.Current.User.Identity.Name.Split(new[] { '|' })[0];

            db.spDesktopDataAdmin_UpdateClientProfileAdminGroupDeletedStatus_v1(
                group.ClientProfileAdminGroupId,
                group.DeletedFlag,
                adminUserGuid,
                group.VersionNumber
                );
        }
        public ActionResult UnDelete(ClientProfileAdminGroupVM clientProfileAdminGroupVM)
        {
            //Check Valid Item passed in Form
            if (clientProfileAdminGroupVM.ClientProfileAdminGroup == null)
            {
                ViewData["ActionMethod"] = "DeletePost";
                return(View("RecordDoesNotExistError"));
            }

            //Get Item From Database
            ClientProfileAdminGroup clientProfileAdminGroup = new ClientProfileAdminGroup();

            clientProfileAdminGroup = clientProfileAdminGroupRepository.GetGroup(clientProfileAdminGroupVM.ClientProfileAdminGroup.ClientProfileAdminGroupId);

            //Check Exists in Databsase
            if (clientProfileAdminGroup == null)
            {
                ViewData["ActionMethod"] = "DeletePost";
                return(View("RecordDoesNotExistError"));
            }

            //Check Access
            RolesRepository rolesRepository = new RolesRepository();

            if (!rolesRepository.HasWriteAccessToClientProfileAdminGroup(clientProfileAdminGroup.ClientProfileAdminGroupId))
            {
                ViewData["Message"] = "You do not have access to this item";
                return(View("Error"));
            }

            //Delete Form Item
            try
            {
                clientProfileAdminGroupVM.ClientProfileAdminGroup.DeletedFlag = false;
                clientProfileAdminGroupRepository.UpdateGroupDeletedStatus(clientProfileAdminGroupVM.ClientProfileAdminGroup);
            }
            catch (SqlException ex)
            {
                //Versioning Error - go to standard versionError page
                if (ex.Message == "SQLVersioningError")
                {
                    ViewData["ReturnURL"] = "/ClientProfileAdminGroup.mvc/UnDelete/" + clientProfileAdminGroup.ClientProfileAdminGroupId;
                    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(ClientProfileAdminGroup group)
        {
            string adminUserGuid = HttpContext.Current.User.Identity.Name.Split(new[] { '|' })[0];

            db.spDesktopDataAdmin_InsertClientProfileAdminGroup_v1(
                group.ClientProfileGroupName,
                group.HierarchyType,
                group.HierarchyCode,
                group.GDSCode,
                group.BackOfficeSytemId,
                true,
                adminUserGuid
                );
        }
        //
        // GET: /ClientProfileAdminGroup/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"));
            }

            ClientProfileAdminGroupVM clientProfileAdminGroupVM = new ClientProfileAdminGroupVM();

            //GDS List
            GDSRepository gDSRepository = new GDSRepository();
            SelectList    gDSs          = new SelectList(gDSRepository.GetClientProfileBuilderGDSs().ToList(), "GDSCode", "GDSName");

            clientProfileAdminGroupVM.GDSs = gDSs;

            //BackOfficeSystem List

            //Only show All option if user has a global role
            string adminUserGuid = System.Web.HttpContext.Current.User.Identity.Name.Split(new[] { '|' })[0];

            //if adminUserGuid is global
            RolesRepository            rolesRepository            = new RolesRepository();
            BackOfficeSystemRepository backOfficeSystemRepository = new BackOfficeSystemRepository();

            if (rolesRepository.HasWriteAccessToGroupHierarchyLevel(groupName, "Global"))
            {
                SelectList backOffices = new SelectList(backOfficeSystemRepository.GetAllBackOfficeSystems().ToList(), "BackOfficeSytemId", "BackOfficeSystemDescription");
                clientProfileAdminGroupVM.BackOffices = backOffices;
            }
            else
            {
                SelectList backOffices = new SelectList(backOfficeSystemRepository.GetBackOfficeSystemsExceptAll().ToList(), "BackOfficeSytemId", "BackOfficeSystemDescription");
                clientProfileAdminGroupVM.BackOffices = backOffices;
            }


            //Hierarchy List
            TablesDomainHierarchyLevelRepository tablesDomainHierarchyLevelRepository = new TablesDomainHierarchyLevelRepository();
            SelectList hierarchyTypesList = new SelectList(tablesDomainHierarchyLevelRepository.GetDomainHierarchies(groupName).ToList(), "HierarchyLevelTableName", "HierarchyLevelTableName");

            clientProfileAdminGroupVM.HierarchyTypes = hierarchyTypesList;

            ClientProfileAdminGroup clientProfileAdminGroup = new ClientProfileAdminGroup();

            clientProfileAdminGroupVM.ClientProfileAdminGroup = clientProfileAdminGroup;

            return(View(clientProfileAdminGroupVM));
        }
        //Add Data From Linked Tables for Display
        public void EditGroupForDisplay(ClientProfileAdminGroup clientProfileAdminGroup)
        {
            HierarchyRepository hierarchyRepository = new HierarchyRepository();

            List <fnDesktopDataAdmin_SelectClientProfileAdminGroupHierarchy_v1Result> hierarchy = new List <fnDesktopDataAdmin_SelectClientProfileAdminGroupHierarchy_v1Result>();

            hierarchy = GetGroupHierarchy(clientProfileAdminGroup.ClientProfileAdminGroupId);
            if (hierarchy.Count > 0)
            {
                if (hierarchy.Count == 1)
                {
                    clientProfileAdminGroup.HierarchyCode = hierarchy[0].HierarchyCode;
                    clientProfileAdminGroup.HierarchyItem = hierarchy[0].HierarchyName.Trim();
                    clientProfileAdminGroup.HierarchyType = hierarchy[0].HierarchyType;
                }
            }
        }