//Add Data From Linked Tables for Display
        public void EditItemForDisplay(PolicyHotelPropertyGroupItem policyHotelPropertyGroupItem)
        {
            //PolicyGroupName
            PolicyGroupRepository policyGroupRepository = new PolicyGroupRepository();
            PolicyGroup           policyGroup           = new PolicyGroup();

            policyGroup = policyGroupRepository.GetGroup(policyHotelPropertyGroupItem.PolicyGroupId);
            policyHotelPropertyGroupItem.PolicyGroupName = policyGroup.PolicyGroupName;

            //PolicyHotelStatus
            if (policyHotelPropertyGroupItem.PolicyHotelStatusId != null)
            {
                int policyHotelStatusId = (int)policyHotelPropertyGroupItem.PolicyHotelStatusId;
                PolicyHotelStatusRepository policyHotelStatusRepository = new PolicyHotelStatusRepository();
                PolicyHotelStatus           policyHotelStatus           = new PolicyHotelStatus();
                policyHotelStatus = policyHotelStatusRepository.GetPolicyHotelStatus(policyHotelStatusId);
                policyHotelPropertyGroupItem.PolicyHotelStatus = policyHotelStatus.PolicyHotelStatusDescription;
            }

            //HarpHotel
            HarpHotelRepository harpHotelRepository = new HarpHotelRepository();
            HarpHotel           harpHotel           = new HarpHotel();

            harpHotel = harpHotelRepository.GetHarpHotel(policyHotelPropertyGroupItem.HarpHotelId);
            if (harpHotel != null)
            {
                policyHotelPropertyGroupItem.HarpHotelName = harpHotel.HarpHotelName;
            }
        }
        public ActionResult Delete(int id)
        {
            //Get PolicyHotelPropertyGroupItem
            PolicyHotelPropertyGroupItem policyHotelPropertyGroupItem = new PolicyHotelPropertyGroupItem();

            policyHotelPropertyGroupItem = policyHotelPropertyGroupItemRepository.GetPolicyHotelPropertyGroupItem(id);

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

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

            if (!rolesRepository.HasWriteAccessToPolicyGroup(policyHotelPropertyGroupItem.PolicyGroupId))
            {
                return(View("Error"));
            }

            //populate new PolicyHotelPropertyGroupItem with known PolicyGroup Information
            policyHotelPropertyGroupItemRepository.EditItemForDisplay(policyHotelPropertyGroupItem);

            //Show 'Create' Form
            return(View(policyHotelPropertyGroupItem));
        }
        public ActionResult Delete(int id, string languageCode)
        {
            //Get Item
            PolicyHotelPropertyGroupItemLanguage policyHotelPropertyGroupItemLanguage = new PolicyHotelPropertyGroupItemLanguage();

            policyHotelPropertyGroupItemLanguage = policyHotelPropertyGroupItemLanguageRepository.GetItem(id, languageCode);

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

            //Check AccessRights
            PolicyHotelPropertyGroupItem policyHotelPropertyGroupItem = new PolicyHotelPropertyGroupItem();

            policyHotelPropertyGroupItem = policyHotelPropertyGroupItemRepository.GetPolicyHotelPropertyGroupItem(id);
            RolesRepository rolesRepository = new RolesRepository();

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

            //Add Linked Information
            policyHotelPropertyGroupItemLanguageRepository.EditItemForDisplay(policyHotelPropertyGroupItemLanguage);

            //Return View
            return(View(policyHotelPropertyGroupItemLanguage));
        }
Пример #4
0
        //Add Data From Linked Tables for Display
        public void EditItemForDisplay(PolicyHotelPropertyGroupItemLanguage policyHotelPropertyGroupItemLanguage)
        {
            //Add LanguageName
            if (policyHotelPropertyGroupItemLanguage.LanguageCode != null)
            {
                LanguageRepository languageRepository = new LanguageRepository();
                Language           language           = new Language();
                language = languageRepository.GetLanguage(policyHotelPropertyGroupItemLanguage.LanguageCode);
                if (language != null)
                {
                    policyHotelPropertyGroupItemLanguage.LanguageName = language.LanguageName;
                }
            }

            //Add PolicyGroupName
            PolicyHotelPropertyGroupItemRepository policyHotelPropertyGroupItemRepository = new PolicyHotelPropertyGroupItemRepository();
            PolicyHotelPropertyGroupItem           policyHotelPropertyGroupItem           = new PolicyHotelPropertyGroupItem();

            policyHotelPropertyGroupItem = policyHotelPropertyGroupItemRepository.GetPolicyHotelPropertyGroupItem(policyHotelPropertyGroupItemLanguage.PolicyHotelPropertyGroupItemId);


            if (policyHotelPropertyGroupItem != null)
            {
                policyHotelPropertyGroupItemRepository.EditItemForDisplay(policyHotelPropertyGroupItem);
                policyHotelPropertyGroupItemLanguage.PolicyGroupName = policyHotelPropertyGroupItem.PolicyGroupName;
                policyHotelPropertyGroupItemLanguage.PolicyGroupId   = policyHotelPropertyGroupItem.PolicyGroupId;
            }
        }
        // GET: /Edit
        public ActionResult Edit(int id, string languageCode)
        {
            //Get Item
            PolicyHotelPropertyGroupItemLanguage policyHotelPropertyGroupItemLanguage = new PolicyHotelPropertyGroupItemLanguage();

            policyHotelPropertyGroupItemLanguage = policyHotelPropertyGroupItemLanguageRepository.GetItem(id, languageCode);

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

            //Check AccessRights
            PolicyHotelPropertyGroupItem policyHotelPropertyGroupItem = new PolicyHotelPropertyGroupItem();

            policyHotelPropertyGroupItem = policyHotelPropertyGroupItemRepository.GetPolicyHotelPropertyGroupItem(id);
            RolesRepository rolesRepository = new RolesRepository();

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

            //Language SelectList
            SelectList languageList = new SelectList(policyHotelPropertyGroupItemLanguageRepository.GetUnUsedLanguages(id).ToList(), "LanguageCode", "LanguageName");

            ViewData["Languages"] = languageList;

            policyHotelPropertyGroupItemLanguageRepository.EditItemForDisplay(policyHotelPropertyGroupItemLanguage);
            return(View(policyHotelPropertyGroupItemLanguage));
        }
        public ActionResult Create(PolicyHotelPropertyGroupItemLanguage policyHotelPropertyGroupItemLanguage)
        {
            PolicyHotelPropertyGroupItem policyHotelPropertyGroupItem = new PolicyHotelPropertyGroupItem();

            policyHotelPropertyGroupItem = policyHotelPropertyGroupItemRepository.GetPolicyHotelPropertyGroupItem(policyHotelPropertyGroupItemLanguage.PolicyHotelPropertyGroupItemId);

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

            RolesRepository rolesRepository = new RolesRepository();

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

            //Update  Model from Form
            try
            {
                UpdateModel(policyHotelPropertyGroupItemLanguage);
            }
            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"));
            }



            try
            {
                policyHotelPropertyGroupItemLanguageRepository.Add(policyHotelPropertyGroupItemLanguage);
            }
            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 = policyHotelPropertyGroupItem.PolicyHotelPropertyGroupItemId }));
        }
        //Delete
        public void Delete(PolicyHotelPropertyGroupItem policyHotelPropertyGroupItem)
        {
            string adminUserGuid = HttpContext.Current.User.Identity.Name.Split(new[] { '|' })[0];

            db.spDesktopDataAdmin_DeletePolicyHotelPropertyGroupItem_v1(
                policyHotelPropertyGroupItem.PolicyHotelPropertyGroupItemId,
                adminUserGuid,
                policyHotelPropertyGroupItem.VersionNumber
                );
        }
        public ActionResult Edit(int id, FormCollection collection)
        {
            PolicyHotelPropertyGroupItem policyHotelPropertyGroupItem = new PolicyHotelPropertyGroupItem();

            policyHotelPropertyGroupItem = policyHotelPropertyGroupItemRepository.GetPolicyHotelPropertyGroupItem(id);

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

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

            if (!rolesRepository.HasWriteAccessToPolicyGroup(policyHotelPropertyGroupItem.PolicyGroupId))
            {
                return(View("Error"));
            }

            //Update PolicyHotelPropertyGroupItem Model From Form
            try
            {
                UpdateModel(policyHotelPropertyGroupItem);
            }
            catch
            {
                return(View("Error"));
            }

            //Database Update
            try
            {
                policyHotelPropertyGroupItemRepository.Update(policyHotelPropertyGroupItem);
            }
            catch (SqlException ex)
            {
                //Versioning Error
                if (ex.Message == "SQLVersioningError")
                {
                    ViewData["ReturnURL"] = "/PolicyHotelPropertyGroupItem.mvc/Edit/" + policyHotelPropertyGroupItem.PolicyHotelPropertyGroupItemId.ToString();
                    return(View("VersionError"));
                }

                //Generic Error
                ViewData["Message"] = "There was a problem with your request, please see the log file or contact an administrator for details";
                return(View("Error"));
            }

            //Return to Form
            return(RedirectToAction("List", new { id = policyHotelPropertyGroupItem.PolicyGroupId }));
        }
        //GET:List
        public ActionResult List(int id, int?page, string sortField, int?sortOrder)
        {
            //Get PolicyHotelPropertyGroupItem
            PolicyHotelPropertyGroupItem policyHotelPropertyGroupItem = new PolicyHotelPropertyGroupItem();

            policyHotelPropertyGroupItem = policyHotelPropertyGroupItemRepository.GetPolicyHotelPropertyGroupItem(id);

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

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

            if (rolesRepository.HasWriteAccessToPolicyGroup(policyHotelPropertyGroupItem.PolicyGroupId))
            {
                ViewData["Access"] = "WriteAccess";
            }

            //Parent Information
            ViewData["PolicyHotelPropertyGroupItemID"] = policyHotelPropertyGroupItem.PolicyHotelPropertyGroupItemId;
            ViewData["PolicyGroupID"]   = policyHotelPropertyGroupItem.PolicyGroupId;
            ViewData["PolicyGroupName"] = policyGroupRepository.GetGroup(policyHotelPropertyGroupItem.PolicyGroupId).PolicyGroupName;


            //SortField+SortOrder settings
            if (sortField != "HotelAdvice")
            {
                sortField = "LanguageName";
            }
            ViewData["CurrentSortField"] = sortField;
            if (sortOrder == 1)
            {
                ViewData["NewSortOrder"]     = 0;
                ViewData["CurrentSortOrder"] = 1;
            }
            else
            {
                ViewData["NewSortOrder"]     = 1;
                ViewData["CurrentSortOrder"] = 0;
                sortOrder = 0;
            }

            //Get data
            var cwtPaginatedList = policyHotelPropertyGroupItemLanguageRepository.PagePolicyHotelPropertyGroupItemHotelAdvice(id, page ?? 1, sortField, sortOrder ?? 0);

            return(View(cwtPaginatedList));
        }
        public ActionResult Delete(int id, string languageCode, FormCollection collection)
        {
            //Get Item
            PolicyHotelPropertyGroupItemLanguage policyHotelPropertyGroupItemLanguage = new PolicyHotelPropertyGroupItemLanguage();

            policyHotelPropertyGroupItemLanguage = policyHotelPropertyGroupItemLanguageRepository.GetItem(id, languageCode);

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

            //Check AccessRights
            PolicyHotelPropertyGroupItem policyHotelPropertyGroupItem = new PolicyHotelPropertyGroupItem();

            policyHotelPropertyGroupItem = policyHotelPropertyGroupItemRepository.GetPolicyHotelPropertyGroupItem(id);
            RolesRepository rolesRepository = new RolesRepository();

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

            //Delete Item
            try
            {
                policyHotelPropertyGroupItemLanguage.VersionNumber = Int32.Parse(collection["VersionNumber"]);
                policyHotelPropertyGroupItemLanguageRepository.Delete(policyHotelPropertyGroupItemLanguage);
            }
            catch (SqlException ex)
            {
                //Versioning Error - go to standard versionError page
                if (ex.Message == "SQLVersioningError")
                {
                    ViewData["ReturnURL"] = "/HotelPropertyAdvice.mvc/Delete/" + policyHotelPropertyGroupItemLanguage.PolicyHotelPropertyGroupItemId.ToString() + "/" + policyHotelPropertyGroupItemLanguage.LanguageCode;
                    return(View("VersionError"));
                }
                //Generic Error
                ViewData["Message"] = "There was a problem with your request, please see the log file or contact an administrator for details";
                return(View("Error"));
            }

            //Return
            return(RedirectToAction("List", new { id = policyHotelPropertyGroupItemLanguage.PolicyHotelPropertyGroupItemId }));
        }
        //Add
        public void Add(PolicyHotelPropertyGroupItem policyHotelPropertyGroupItem)
        {
            string adminUserGuid = HttpContext.Current.User.Identity.Name.Split(new[] { '|' })[0];

            db.spDesktopDataAdmin_InsertPolicyHotelPropertyGroupItem_v1(
                policyHotelPropertyGroupItem.PolicyGroupId,
                policyHotelPropertyGroupItem.PolicyHotelStatusId,
                policyHotelPropertyGroupItem.HarpHotelId,
                policyHotelPropertyGroupItem.EnabledFlag,
                policyHotelPropertyGroupItem.EnabledDate,
                policyHotelPropertyGroupItem.ExpiryDate,
                policyHotelPropertyGroupItem.TravelDateValidFrom,
                policyHotelPropertyGroupItem.TravelDateValidTo,
                adminUserGuid
                );
        }
        // GET: /Edit
        public ActionResult Edit(int id)
        {
            //Get PolicyHotelPropertyGroupItem
            PolicyHotelPropertyGroupItem policyHotelPropertyGroupItem = new PolicyHotelPropertyGroupItem();

            policyHotelPropertyGroupItem = policyHotelPropertyGroupItemRepository.GetPolicyHotelPropertyGroupItem(id);

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

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

            if (!rolesRepository.HasWriteAccessToPolicyGroup(policyHotelPropertyGroupItem.PolicyGroupId))
            {
                return(View("Error"));
            }

            //Populate List of PolicyHotelStatuses
            PolicyHotelStatusRepository policyHotelStatusRepository = new PolicyHotelStatusRepository();
            SelectList policyHotelStatuses = new SelectList(policyHotelStatusRepository.GetAllPolicyHotelStatuses().ToList(), "PolicyHotelStatusId", "PolicyHotelStatusDescription");

            ViewData["PolicyHotelStatusList"] = policyHotelStatuses;

            //Populate List of HarpHotels
            HarpHotelRepository harpHotelRepository = new HarpHotelRepository();
            SelectList          harpHotels          = new SelectList(harpHotelRepository.GetAllHarpHotels().ToList(), "HarpHotelId", "HarpHotelName");

            ViewData["HarpHotelList"] = harpHotels;

            //Populate new PolicyHotelPropertyGroupItem with known PolicyGroup Information
            PolicyGroup policyGroup = policyGroupRepository.GetGroup(policyHotelPropertyGroupItem.PolicyGroupId);

            policyHotelPropertyGroupItem.PolicyGroupName = policyGroup.PolicyGroupName;

            //Show 'Edit' Form
            policyHotelPropertyGroupItemRepository.EditItemForDisplay(policyHotelPropertyGroupItem);
            return(View(policyHotelPropertyGroupItem));
        }
        // GET: /View
        public ActionResult View(int id)
        {
            //Get PolicyHotelPropertyGroupItem
            PolicyHotelPropertyGroupItem policyHotelPropertyGroupItem = new PolicyHotelPropertyGroupItem();

            policyHotelPropertyGroupItem = policyHotelPropertyGroupItemRepository.GetPolicyHotelPropertyGroupItem(id);

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

            //populate new PolicyHotelPropertyGroupItem with known PolicyGroup Information
            policyHotelPropertyGroupItemRepository.EditItemForDisplay(policyHotelPropertyGroupItem);

            //Show 'View' Form
            return(View(policyHotelPropertyGroupItem));
        }
        public ActionResult Create(PolicyHotelPropertyGroupItem policyHotelPropertyGroupItem)
        {
            PolicyGroup policyGroup = policyGroupRepository.GetGroup(policyHotelPropertyGroupItem.PolicyGroupId);

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

            if (!rolesRepository.HasWriteAccessToPolicyGroup(policyHotelPropertyGroupItem.PolicyGroupId))
            {
                return(View("Error"));
            }

            //Update Model from Form
            try
            {
                UpdateModel(policyHotelPropertyGroupItem);
            }
            catch
            {
                return(View("Error"));
            }

            //Add PolicyHotelPropertyGroupItem to database
            try
            {
                policyHotelPropertyGroupItemRepository.Add(policyHotelPropertyGroupItem);
            }
            catch
            {
                //Could not insert to database
                return(View("Error"));
            }

            return(RedirectToAction("List", new { id = policyHotelPropertyGroupItem.PolicyGroupId }));
        }
        // GET: /Create
        public ActionResult Create(int id)
        {
            PolicyGroup policyGroup = policyGroupRepository.GetGroup(id);

            if (policyGroup == null)
            {
                ViewData["ActionMethod"] = "CreateGet";
                return(View("RecordDoesNotExistError"));
            }
            //Check AccessRights
            RolesRepository rolesRepository = new RolesRepository();

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

            PolicyHotelPropertyGroupItem policyHotelPropertyGroupItem = new PolicyHotelPropertyGroupItem();

            //Populate List of PolicyHotelStatuses
            PolicyHotelStatusRepository policyHotelStatusRepository = new PolicyHotelStatusRepository();
            SelectList policyHotelStatuses = new SelectList(policyHotelStatusRepository.GetAllPolicyHotelStatuses().ToList(), "PolicyHotelStatusId", "PolicyHotelStatusDescription");

            ViewData["PolicyHotelStatusList"] = policyHotelStatuses;

            //Populate List of HarpHotels
            HarpHotelRepository harpHotelRepository = new HarpHotelRepository();
            SelectList          harpHotels          = new SelectList(harpHotelRepository.GetAllHarpHotels().ToList(), "HarpHotelId", "HarpHotelName");

            ViewData["HarpHotelList"] = harpHotels;

            //populate new PolicyHotelPropertyGroupItem with known PolicyGroup Information
            policyHotelPropertyGroupItem.PolicyGroupId   = id;
            policyHotelPropertyGroupItem.PolicyGroupName = policyGroup.PolicyGroupName;

            //Show 'Create' Form
            return(View(policyHotelPropertyGroupItem));
        }
        public ActionResult Edit(int policyHotelPropertyGroupItemId, string languageCode, string hotelAdvice)
        {
            //Get Item
            PolicyHotelPropertyGroupItemLanguage policyHotelPropertyGroupItemLanguage = new PolicyHotelPropertyGroupItemLanguage();

            policyHotelPropertyGroupItemLanguage = policyHotelPropertyGroupItemLanguageRepository.GetItem(policyHotelPropertyGroupItemId, languageCode);

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

            //Check AccessRights
            PolicyHotelPropertyGroupItem policyHotelPropertyGroupItem = new PolicyHotelPropertyGroupItem();

            policyHotelPropertyGroupItem = policyHotelPropertyGroupItemRepository.GetPolicyHotelPropertyGroupItem(policyHotelPropertyGroupItemId);
            RolesRepository rolesRepository = new RolesRepository();

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

            //Update Item from Form
            try
            {
                UpdateModel(policyHotelPropertyGroupItemLanguage);
            }
            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"));
            }

            //Update CountryAdvice
            try
            {
                policyHotelPropertyGroupItemLanguageRepository.Update(policyHotelPropertyGroupItemLanguage);
            }
            catch (SqlException ex)
            {
                //Versioning Error
                if (ex.Message == "SQLVersioningError")
                {
                    ViewData["ReturnURL"] = "/HotelPropertyAdvice.mvc/Edit/" + policyHotelPropertyGroupItemLanguage.PolicyHotelPropertyGroupItemId.ToString();
                    return(View("VersionError"));
                }

                //Generic Error
                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 = policyHotelPropertyGroupItemLanguage.PolicyHotelPropertyGroupItemId }));
        }