Пример #1
0
        // GET: /Edit
        public ActionResult Edit(int id)
        {
            //Get Item From Database
            ChatFAQResponseGroup group = new ChatFAQResponseGroup();

            group = chatFAQResponseGroupRepository.GetGroup(id);

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

            if (!rolesRepository.HasWriteAccessToChatFAQResponseGroup(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;

            chatFAQResponseGroupRepository.EditGroupForDisplay(group);
            return(View(group));
        }
        // GET: /ExportErrors
        public ActionResult ExportErrors()
        {
            var preImportCheckResultVM = (ChatFAQResponseItemImportStep1VM)TempData["ErrorMessages"];

            if (preImportCheckResultVM == null)
            {
                ViewData["ActionMethod"] = "ExportGet";
                return(View("RecordDoesNotExistError"));
            }

            ChatFAQResponseGroup chatFAQResponseGroup = new ChatFAQResponseGroup();

            chatFAQResponseGroup = chatFAQResponseGroupRepository.GetGroup(preImportCheckResultVM.ChatFAQResponseGroupId);

            //Check Exists
            if (chatFAQResponseGroup == null)
            {
                ViewData["ActionMethod"] = "ExportGet";
                return(View("RecordDoesNotExistError"));
            }

            //Get CSV Data
            var errors         = preImportCheckResultVM.ImportStep2VM.ReturnMessages;
            var combinedErrors = errors.Aggregate((current, next) => current + "\r\n" + next);

            byte[] csvData = Encoding.ASCII.GetBytes(combinedErrors);

            return(File(csvData, "text/plain", string.Format("{0}-ErrorExport.txt", chatFAQResponseGroup.ChatFAQResponseGroupName)));
        }
Пример #3
0
        // GET: Linked ClientSubUnits
        public ActionResult LinkedClientSubUnits(int id)
        {
            //Get Group From Database
            ChatFAQResponseGroup group = new ChatFAQResponseGroup();

            group = chatFAQResponseGroupRepository.GetGroup(id);

            //Check Exists
            if (group == null)
            {
                ViewData["ActionMethod"] = "ClientSubUnitGet";
                return(View("RecordDoesNotExistError"));
            }

            ChatFAQResponseGroupClientSubUnitCountriesVM chatFAQResponseGroupClientSubUnits = new ChatFAQResponseGroupClientSubUnitCountriesVM();

            chatFAQResponseGroupClientSubUnits.ChatFAQResponseGroupId   = id;
            chatFAQResponseGroupClientSubUnits.ChatFAQResponseGroupName = group.ChatFAQResponseGroupName;

            List <ChatFAQResponseGroupClientSubUnitCountryVM> clientSubUnitsAvailable = new List <ChatFAQResponseGroupClientSubUnitCountryVM>();

            clientSubUnitsAvailable = chatFAQResponseGroupRepository.GetLinkedClientSubUnits(id, false);
            chatFAQResponseGroupClientSubUnits.ClientSubUnitsAvailable = clientSubUnitsAvailable;

            List <ChatFAQResponseGroupClientSubUnitCountryVM> clientSubUnitsUnAvailable = new List <ChatFAQResponseGroupClientSubUnitCountryVM>();

            clientSubUnitsUnAvailable = chatFAQResponseGroupRepository.GetLinkedClientSubUnits(id, true);
            chatFAQResponseGroupClientSubUnits.ClientSubUnitsUnAvailable = clientSubUnitsUnAvailable;

            return(View(chatFAQResponseGroupClientSubUnits));
        }
        // GET: /List
        public ActionResult List(int id, int?page, string filter, string sortField, int?sortOrder)
        {
            //Check Parent Exists
            ChatFAQResponseGroup chatFAQResponseGroup = new ChatFAQResponseGroup();

            chatFAQResponseGroup = chatFAQResponseGroupRepository.GetGroup(id);

            //Check Exists
            if (chatFAQResponseGroup == null)
            {
                ViewData["ActionMethod"] = "ListGet";
                return(View("RecordDoesNotExistError"));
            }

            //Set Access Rights
            ViewData["Access"] = "";
            RolesRepository rolesRepository = new RolesRepository();

            if (rolesRepository.HasWriteAccessToChatFAQResponseGroup(id))
            {
                ViewData["Access"] = "WriteAccess";
            }

            //Set Import Access Rights
            ViewData["ImportAccess"] = "";
            if (rolesRepository.HasWriteAccessToChatFAQResponseItemImport())
            {
                ViewData["ImportAccess"] = "WriteAccess";
            }

            //SortField+SortOrder settings
            if (string.IsNullOrEmpty(sortField))
            {
                sortField = "ChatMessageFAQName";
            }
            ViewData["CurrentSortField"] = sortField;

            if (sortOrder == 1)
            {
                ViewData["NewSortOrder"]     = 0;
                ViewData["CurrentSortOrder"] = 1;
            }
            else
            {
                ViewData["NewSortOrder"]     = 1;
                ViewData["CurrentSortOrder"] = 0;
                sortOrder = 0;
            }

            ViewData["ChatFAQResponseGroupId"]   = chatFAQResponseGroup.ChatFAQResponseGroupId;
            ViewData["ChatFAQResponseGroupName"] = chatFAQResponseGroup.ChatFAQResponseGroupName;

            //return items
            var cwtPaginatedList = chatFAQResponseItemRepository.PageChatFAQResponseItems(id, page ?? 1, filter ?? "", sortField, sortOrder ?? 0);

            return(View(cwtPaginatedList));
        }
        public ActionResult Create(ChatFAQResponseItem chatFAQResponseItem)
        {
            //Get ChatFAQResponseGroup
            ChatFAQResponseGroup chatFAQResponseGroup = new ChatFAQResponseGroup();

            chatFAQResponseGroup = chatFAQResponseGroupRepository.GetGroup(chatFAQResponseItem.ChatFAQResponseGroupId);

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

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

            try
            {
                UpdateModel(chatFAQResponseItem);
            }
            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
            {
                chatFAQResponseItemRepository.Add(chatFAQResponseItem);
            }
            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 = chatFAQResponseItem.ChatFAQResponseGroupId }));
        }
        //Change the deleted status on an item
        public void UpdateGroupDeletedStatus(ChatFAQResponseGroup group)
        {
            string adminUserGuid = HttpContext.Current.User.Identity.Name.Split(new[] { '|' })[0];

            db.spDesktopDataAdmin_UpdateChatFAQResponseGroupDeletedStatus_v1(
                group.ChatFAQResponseGroupId,
                group.DeletedFlag,
                adminUserGuid,
                group.VersionNumber
                );
        }
        // GET: /Edit
        public ActionResult Edit(int id)
        {
            //Get Item
            ChatFAQResponseItem chatFAQResponseItem = new ChatFAQResponseItem();

            chatFAQResponseItem = chatFAQResponseItemRepository.GetItem(id);

            //Check Exists
            if (chatFAQResponseItem == null)
            {
                ViewData["ActionMethod"] = "EditGet";
                return(View("RecordDoesNotExistError"));
            }

            //Check Parent Exists
            ChatFAQResponseGroup chatFAQResponseGroup = new ChatFAQResponseGroup();

            chatFAQResponseGroup = chatFAQResponseGroupRepository.GetGroup(chatFAQResponseItem.ChatFAQResponseGroupId);

            //Check Exists
            if (chatFAQResponseGroup == null)
            {
                ViewData["ActionMethod"] = "CreatePost";
                return(View("RecordDoesNotExistError"));
            }

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

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

            //Get Available ChatMessageFAQs
            ChatMessageFAQRepository chatMessageFAQRepository = new ChatMessageFAQRepository();
            SelectList chatMessageFAQs = new SelectList(
                chatMessageFAQRepository.GetChatFAQResponseItemAvailableChatMessageFAQs(chatFAQResponseItem.ChatFAQResponseItemId, chatFAQResponseItem.ChatFAQResponseGroupId).ToList(),
                "ChatMessageFAQId",
                "ChatMessageFAQName",
                chatFAQResponseItem.ChatMessageFAQId
                );

            ViewData["ChatMessageFAQs"] = chatMessageFAQs;

            //Parent Information
            ViewData["ChatFAQResponseGroupId"]   = chatFAQResponseGroup.ChatFAQResponseGroupId;
            ViewData["ChatFAQResponseGroupName"] = chatFAQResponseGroup.ChatFAQResponseGroupName;

            chatFAQResponseItemRepository.EditItemForDisplay(chatFAQResponseItem);

            return(View(chatFAQResponseItem));
        }
        public ActionResult ImportStep2()
        {
            ChatFAQResponseItemImportStep1VM preImportCheckResultVM = new ChatFAQResponseItemImportStep1VM();

            preImportCheckResultVM = (ChatFAQResponseItemImportStep1VM)TempData["PreImportCheckResultVM"];

            ChatFAQResponseGroup chatFAQResponseGroup = new ChatFAQResponseGroup();

            chatFAQResponseGroup = chatFAQResponseGroupRepository.GetGroup(preImportCheckResultVM.ChatFAQResponseGroupId);
            preImportCheckResultVM.ChatFAQResponseGroup = chatFAQResponseGroup;

            return(View(preImportCheckResultVM));
        }
        public ActionResult ImportStep3()
        {
            //Display Results of Import
            ChatFAQResponseItemImportStep3VM cdrPostImportResult = new ChatFAQResponseItemImportStep3VM();

            cdrPostImportResult = (ChatFAQResponseItemImportStep3VM)TempData["PostImportResult"];

            ChatFAQResponseGroup chatFAQResponseGroup = new ChatFAQResponseGroup();

            chatFAQResponseGroup = chatFAQResponseGroupRepository.GetGroup(cdrPostImportResult.ChatFAQResponseGroupId);
            cdrPostImportResult.ChatFAQResponseGroup = chatFAQResponseGroup;

            return(View(cdrPostImportResult));
        }
Пример #10
0
        // GET: /View
        public ActionResult View(int id)
        {
            ChatFAQResponseGroup group = new ChatFAQResponseGroup();

            group = chatFAQResponseGroupRepository.GetGroup(id);

            //Check Exists
            if (group == null)
            {
                ViewData["ActionMethod"] = "ViewGet";
                return(View("RecordDoesNotExistError"));
            }

            chatFAQResponseGroupRepository.EditGroupForDisplay(group);
            return(View(group));
        }
Пример #11
0
        public ActionResult LinkedClientSubUnits(int ChatFAQResponseGroupId, string ClientSubUnitGuid)
        {
            //Get Item From Database
            ChatFAQResponseGroup group = new ChatFAQResponseGroup();

            group = chatFAQResponseGroupRepository.GetGroup(ChatFAQResponseGroupId);

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

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

            //Database Update
            try
            {
                chatFAQResponseGroupRepository.UpdateLinkedClientSubUnit(ChatFAQResponseGroupId, ClientSubUnitGuid);
            }
            catch (SqlException ex)
            {
                //Versioning Error
                if (ex.Message == "SQLVersioningError")
                {
                    ViewData["ReturnURL"] = "/ChatFAQResponseGroup.mvc/ClientSubUnit/" + ChatFAQResponseGroupId.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 = ChatFAQResponseGroupId }));
        }
Пример #12
0
        // 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;

            ChatFAQResponseGroup group = new ChatFAQResponseGroup();

            return(View(group));
        }
        //Add Group
        public void Add(ChatFAQResponseGroup group)
        {
            string adminUserGuid = HttpContext.Current.User.Identity.Name.Split(new[] { '|' })[0];

            db.spDesktopDataAdmin_InsertChatFAQResponseGroup_v1(
                adminUserGuid,
                group.ChatFAQResponseGroupName,
                group.EnabledFlag,
                group.EnabledDate,
                group.ExpiryDate,
                group.HierarchyType,
                group.HierarchyCode,
                group.TravelerTypeGuid,
                group.ClientSubUnitGuid,
                group.SourceSystemCode,
                adminUserGuid
                );
        }
Пример #14
0
        public ActionResult UnDelete(int id, FormCollection collection)
        {
            //Get Item From Database
            ChatFAQResponseGroup group = new ChatFAQResponseGroup();

            group = chatFAQResponseGroupRepository.GetGroup(id);

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

            if (!rolesRepository.HasWriteAccessToChatFAQResponseGroup(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;
                chatFAQResponseGroupRepository.UpdateGroupDeletedStatus(group);
            }
            catch (SqlException ex)
            {
                //Versioning Error - go to standard versionError page
                if (ex.Message == "SQLVersioningError")
                {
                    ViewData["ReturnURL"] = "/ChatFAQResponseGroup.mvc/UnDelete/" + group.ChatFAQResponseGroupId;
                    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"));
        }
        public ActionResult Delete(int id)
        {
            //Get Item
            ChatFAQResponseItem chatFAQResponseItem = new ChatFAQResponseItem();

            chatFAQResponseItem = chatFAQResponseItemRepository.GetItem(id);

            //Check Exists
            if (chatFAQResponseItem == null)
            {
                ViewData["ActionMethod"] = "DeleteGet";
                return(View("RecordDoesNotExistError"));
            }

            //Check Parent Exists
            ChatFAQResponseGroup chatFAQResponseGroup = new ChatFAQResponseGroup();

            chatFAQResponseGroup = chatFAQResponseGroupRepository.GetGroup(chatFAQResponseItem.ChatFAQResponseGroupId);

            //Check Exists
            if (chatFAQResponseGroup == null)
            {
                ViewData["ActionMethod"] = "CreatePost";
                return(View("RecordDoesNotExistError"));
            }

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

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

            //Parent Information
            ViewData["ChatFAQResponseGroupId"]   = chatFAQResponseGroup.ChatFAQResponseGroupId;
            ViewData["ChatFAQResponseGroupName"] = chatFAQResponseGroup.ChatFAQResponseGroupName;

            chatFAQResponseItemRepository.EditItemForDisplay(chatFAQResponseItem);

            return(View(chatFAQResponseItem));
        }
        // GET: /Export
        public ActionResult Export(int id)
        {
            //Get Item
            ChatFAQResponseGroup chatFAQResponseGroup = new ChatFAQResponseGroup();

            chatFAQResponseGroup = chatFAQResponseGroupRepository.GetGroup(id);

            //Check Exists
            if (chatFAQResponseGroup == null)
            {
                ViewData["ActionMethod"] = "ExportGet";
                return(View("RecordDoesNotExistError"));
            }

            string filename = string.Format("{0}-Export.csv", chatFAQResponseGroup.ChatFAQResponseGroupName);

            //Get CSV Data
            byte[] csvData = chatFAQResponseItemRepository.Export(id);
            return(File(csvData, "text/csv", filename));
        }
        public ActionResult ImportStep1(int id)
        {
            ChatFAQResponseGroup chatFAQResponseGroup = new ChatFAQResponseGroup();

            chatFAQResponseGroup = chatFAQResponseGroupRepository.GetGroup(id);

            //Check Exists
            if (chatFAQResponseGroup == null)
            {
                ViewData["ActionMethod"] = "ExportGet";
                return(View("RecordDoesNotExistError"));
            }

            ChatFAQResponseItemImportStep1WithFileVM clientSubUnitImportStep1WithFileVM = new ChatFAQResponseItemImportStep1WithFileVM();

            clientSubUnitImportStep1WithFileVM.ChatFAQResponseGroupId = id;
            clientSubUnitImportStep1WithFileVM.ChatFAQResponseGroup   = chatFAQResponseGroup;

            return(View(clientSubUnitImportStep1WithFileVM));
        }
        //Edit Group
        public void Edit(ChatFAQResponseGroup group)
        {
            string adminUserGuid = HttpContext.Current.User.Identity.Name.Split(new[] { '|' })[0];

            db.spDesktopDataAdmin_UpdateChatFAQResponseGroup_v1(
                adminUserGuid,
                group.ChatFAQResponseGroupId,
                group.ChatFAQResponseGroupName,
                group.EnabledFlag,
                group.EnabledDate,
                group.ExpiryDate,
                group.HierarchyType,
                group.HierarchyCode,
                group.TravelerTypeGuid,
                group.ClientSubUnitGuid,
                group.SourceSystemCode,
                group.IsMultipleHierarchy,
                adminUserGuid,
                group.VersionNumber
                );
        }
        public ActionResult ImportStep1(ChatFAQResponseItemImportStep1WithFileVM csvfile)
        {
            //used for return only
            ChatFAQResponseGroup chatFAQResponseGroup = new ChatFAQResponseGroup();

            chatFAQResponseGroup = chatFAQResponseGroupRepository.GetGroup(csvfile.ChatFAQResponseGroupId);

            if (!ModelState.IsValid)
            {
                return(View(csvfile));
            }
            string fileExtension = Path.GetExtension(csvfile.File.FileName);

            if (fileExtension != ".csv")
            {
                ModelState.AddModelError("file", "This is not a valid entry");
                return(View(csvfile));
            }

            if (csvfile.File.ContentLength > 0)
            {
                ChatFAQResponseItemImportStep2VM preImportCheckResult = new ChatFAQResponseItemImportStep2VM();
                List <string> returnMessages = new List <string>();

                preImportCheckResult = chatFAQResponseItemRepository.PreImportCheck(csvfile.File, csvfile.ChatFAQResponseGroupId);

                ChatFAQResponseItemImportStep1VM preImportCheckResultVM = new ChatFAQResponseItemImportStep1VM();
                preImportCheckResultVM.ChatFAQResponseGroup   = chatFAQResponseGroup;
                preImportCheckResultVM.ImportStep2VM          = preImportCheckResult;
                preImportCheckResultVM.ChatFAQResponseGroupId = csvfile.ChatFAQResponseGroupId;

                TempData["PreImportCheckResultVM"] = preImportCheckResultVM;
                return(RedirectToAction("ImportStep2"));
            }

            return(View());
        }
Пример #20
0
        // GET: /UnDelete
        public ActionResult UnDelete(int id)
        {
            //Get Item From Database
            ChatFAQResponseGroup group = new ChatFAQResponseGroup();

            group = chatFAQResponseGroupRepository.GetGroup(id);

            //Check Exists
            if (group == null || group.DeletedFlag == false)
            {
                ViewData["ActionMethod"] = "UnDeleteGet";
                return(View("RecordDoesNotExistError"));
            }
            //Check AccessRights
            RolesRepository rolesRepository = new RolesRepository();

            if (!rolesRepository.HasWriteAccessToChatFAQResponseGroup(id))
            {
                ViewData["Message"] = "You do not have access to this item";
                return(View("Error"));
            }
            chatFAQResponseGroupRepository.EditGroupForDisplay(group);
            return(View(group));
        }
        //Add Data From Linked Tables for Display
        public void EditGroupForDisplay(ChatFAQResponseGroup group)
        {
            group.ChatFAQResponseGroupName = Regex.Replace(group.ChatFAQResponseGroupName, @"[^\w\-()*]", "-");

            //Hierarchy
            HierarchyRepository hierarchyRepository = new HierarchyRepository();

            List <fnDesktopDataAdmin_SelectChatFAQResponseGroupHierarchy_v1Result> hierarchy = GetGroupHierarchy(group.ChatFAQResponseGroupId);

            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_SelectChatFAQResponseGroupHierarchy_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;
            }
        }
Пример #22
0
        public ActionResult Edit(int id, FormCollection collection)
        {
            //Get Item From Database
            ChatFAQResponseGroup group = new ChatFAQResponseGroup();

            group = chatFAQResponseGroupRepository.GetGroup(id);

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

            if (!rolesRepository.HasWriteAccessToChatFAQResponseGroup(group.ChatFAQResponseGroupId))
            {
                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 Group
                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
            {
                chatFAQResponseGroupRepository.Edit(group);
            }
            catch (SqlException ex)
            {
                //Versioning Error
                if (ex.Message == "SQLVersioningError")
                {
                    ViewData["ReturnURL"] = "/ChatFAQResponseGroup.mvc/Edit/" + group.ChatFAQResponseGroupId.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"));
            }

            string action = "ListUnDeleted";

            if (group.DeletedFlag == true)
            {
                action = "ListDeleted";
            }

            return(RedirectToAction(action));
        }
Пример #23
0
        public ActionResult Create(ChatFAQResponseGroup 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
            {
                chatFAQResponseGroupRepository.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"));
        }