Ejemplo n.º 1
0
        //Update in DB
        public void Update(PriceTrackingSetupGroupItemHotel priceTrackingSetupGroupItemHotel)
        {
            string adminUserGuid = HttpContext.Current.User.Identity.Name.Split(new[] { '|' })[0];

            XElement priceTrackingSetupGroupItemHotelTrackingAlertEmailAddressesXML = GetPriceTrackingSetupGroupItemHotelTrackingAlertEmailAddressesXML(priceTrackingSetupGroupItemHotel);

            db.spDesktopDataAdmin_UpdatePriceTrackingSetupGroupItemHotel_v1(
                priceTrackingSetupGroupItemHotel.PriceTrackingSetupGroupItemHotelId,
                priceTrackingSetupGroupItemHotel.PriceTrackingSetupGroupId,
                priceTrackingSetupGroupItemHotel.SharedSavingsFlag,
                priceTrackingSetupGroupItemHotel.SharedSavingsAmount,
                priceTrackingSetupGroupItemHotel.TransactionFeeFlag,
                priceTrackingSetupGroupItemHotel.TransactionFeeAmount,
                priceTrackingSetupGroupItemHotel.ClientHasProvidedWrittenApprovalFlag,
                priceTrackingSetupGroupItemHotel.ClientHasHotelFeesInMSAFlag,
                priceTrackingSetupGroupItemHotel.ClientUsesConfermaVirtualCardsFlag,
                priceTrackingSetupGroupItemHotel.CentralFulfillmentTimeZoneRuleCode,
                priceTrackingSetupGroupItemHotel.CentralFulfillmentBusinessHours,
                priceTrackingSetupGroupItemHotel.Comment,
                priceTrackingSetupGroupItemHotel.AnnualTransactionCount,
                priceTrackingSetupGroupItemHotel.AnnualSpendAmount,
                priceTrackingSetupGroupItemHotel.CurrencyCode,
                priceTrackingSetupGroupItemHotel.EstimatedCWTRebookingFeeAmount,
                priceTrackingSetupGroupItemHotel.CWTVoidRefundFeeAmount,
                priceTrackingSetupGroupItemHotel.ThresholdAmount,
                priceTrackingSetupGroupItemHotel.BreakfastValue,
                priceTrackingSetupGroupItemHotel.RoomTypeUpgradeAllowedFlag,
                priceTrackingSetupGroupItemHotel.BeddingTypeUpgradeAllowedFlag,
                priceTrackingSetupGroupItemHotel.HotelRateCodeUpgradeAllowedFlag,
                priceTrackingSetupGroupItemHotel.CancellationPolicyUpgradeAllowedFlag,
                priceTrackingSetupGroupItemHotel.KingQueenUpgradeAllowedFlag,
                priceTrackingSetupGroupItemHotel.CorporateRateTrackingCode1,
                priceTrackingSetupGroupItemHotel.CorporateRateTrackingCode2,
                priceTrackingSetupGroupItemHotel.CorporateRateTrackingCode3,
                priceTrackingSetupGroupItemHotel.CorporateRateTrackingCode4,
                priceTrackingSetupGroupItemHotel.CWTRateTrackingCode1,
                priceTrackingSetupGroupItemHotel.CWTRateTrackingCode2,
                priceTrackingSetupGroupItemHotel.EnabledDate,
                priceTrackingSetupGroupItemHotel.DeactivationDate,
                priceTrackingSetupGroupItemHotel.BreakfastChangesAllowedFlag,
                priceTrackingSetupGroupItemHotel.ParkingValue,
                priceTrackingSetupGroupItemHotel.EnableValueTrackingFlag,
                priceTrackingSetupGroupItemHotel.InternetAccessValue,
                priceTrackingSetupGroupItemHotel.TMCFeeThreshold,
                priceTrackingSetupGroupItemHotel.ImportPseudoCityOrOfficeId,
                priceTrackingSetupGroupItemHotel.ImportQueueInClientPseudoCityOrOfficeId,
                priceTrackingSetupGroupItemHotel.PricingPseudoCityOrOfficeId,
                priceTrackingSetupGroupItemHotel.SavingsQueueId,
                priceTrackingSetupGroupItemHotel.AlphaCodeRemarkField,
                priceTrackingSetupGroupItemHotelTrackingAlertEmailAddressesXML,
                adminUserGuid,
                priceTrackingSetupGroupItemHotel.VersionNumber
                );
        }
Ejemplo n.º 2
0
        //Add Data From Linked Tables for Display
        public void EditForDisplay(PriceTrackingSetupGroupItemHotel group)
        {
            //CalculatedTotalThresholdAmount
            group.CalculatedTotalThresholdAmount = 0;

            //EstimatedCWTRebookingFeeAmount
            if (group.EstimatedCWTRebookingFeeAmount.HasValue)
            {
                group.CalculatedTotalThresholdAmount = group.CalculatedTotalThresholdAmount + group.EstimatedCWTRebookingFeeAmount.Value;
            }

            //CWTVoidRefundFeeAmount
            if (group.CWTVoidRefundFeeAmount.HasValue)
            {
                group.CalculatedTotalThresholdAmount = group.CalculatedTotalThresholdAmount + group.CWTVoidRefundFeeAmount.Value;
            }

            //ThresholdAmount
            if (group.EstimatedCWTRebookingFeeAmount.HasValue)
            {
                group.CalculatedTotalThresholdAmount = group.CalculatedTotalThresholdAmount + ((group.ThresholdAmount.HasValue) ? group.ThresholdAmount.Value : 0);
            }
        }
 public PriceTrackingSetupGroupItemHotelVM(PriceTrackingSetupGroupItemHotel priceTrackingSetupGroupItemHotel)
 {
     PriceTrackingSetupGroupItemHotel = priceTrackingSetupGroupItemHotel;
 }
        public ActionResult Edit(int id, FormCollection collection)
        {
            //Get Item From Database
            PriceTrackingSetupGroupItemHotel group = new PriceTrackingSetupGroupItemHotel();

            group = priceTrackingSetupGroupItemHotelRepository.GetPriceTrackingSetupGroupItemHotel(id);

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

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

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

            //Capture XML from multiple fields
            group.PriceTrackingSetupGroupItemHotelTrackingAlertEmailAddressesXML = GetPriceTrackingSetupGroupItemHotelTrackingAlertEmailAddressesXML(collection);

            //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"));
            }

            //Database Update
            try
            {
                priceTrackingSetupGroupItemHotelRepository.Update(group);
            }
            catch (SqlException ex)
            {
                //Versioning Error
                if (ex.Message == "SQLVersioningError")
                {
                    ViewData["ReturnURL"] = "/PriceTrackingSetupGroupItemHotel.mvc/Edit/" + group.PriceTrackingSetupGroupItemHotelId.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",
                       new
            {
                id = group.PriceTrackingSetupGroupId,
                controller = "PriceTrackingSetupGroup"
            }
                       ));
        }
        // GET: /Create
        public ActionResult Create(int id)
        {
            //Get Item From Database
            PriceTrackingSetupGroup group = new PriceTrackingSetupGroup();

            group = priceTrackingSetupGroupRepository.GetPriceTrackingSetupGroup(id);

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

            //Check Access Rights to Domain
            if (!hierarchyRepository.AdminHasDomainWriteAccess(groupName))
            {
                ViewData["Message"] = "You do not have access to this item";
                return(View("Error"));
            }

            //Set Access Rights to Admin
            ViewData["AdminAccess"] = "";
            if (hierarchyRepository.AdminHasDomainWriteAccess(adminGroupName))
            {
                ViewData["AdminAccess"] = "WriteAccess";
            }

            //PriceTrackingSetupGroup
            ViewData["PriceTrackingSetupGroupId"]   = group.PriceTrackingSetupGroupId;
            ViewData["PriceTrackingSetupGroupName"] = group.PriceTrackingSetupGroupName;

            //PriceTrackingSetupGroupItemHotel
            PriceTrackingSetupGroupItemHotel priceTrackingSetupGroupItemHotel = new PriceTrackingSetupGroupItemHotel();

            priceTrackingSetupGroupItemHotel.PriceTrackingSetupGroupId = id;

            //Default Flags
            priceTrackingSetupGroupItemHotel.SharedSavingsFlag  = true;
            priceTrackingSetupGroupItemHotel.TransactionFeeFlag = false;

            //Pricing Model Defaults
            priceTrackingSetupGroupItemHotel.SharedSavingsAmount = 30;

            //Threshold Defaults
            priceTrackingSetupGroupItemHotel.EstimatedCWTRebookingFeeAmount = decimal.Parse("0.00");;
            priceTrackingSetupGroupItemHotel.CWTVoidRefundFeeAmount         = decimal.Parse("0.00");
            priceTrackingSetupGroupItemHotel.ThresholdAmount = decimal.Parse("0.00");

            priceTrackingSetupGroupItemHotel.CalculatedTotalThresholdAmount =
                priceTrackingSetupGroupItemHotel.EstimatedCWTRebookingFeeAmount +
                priceTrackingSetupGroupItemHotel.CWTVoidRefundFeeAmount +
                priceTrackingSetupGroupItemHotel.ThresholdAmount;

            //Hotel Amenity Values Defaults
            priceTrackingSetupGroupItemHotel.RoomTypeUpgradeAllowedFlag           = true;
            priceTrackingSetupGroupItemHotel.BeddingTypeUpgradeAllowedFlag        = true;
            priceTrackingSetupGroupItemHotel.HotelRateCodeUpgradeAllowedFlag      = true;
            priceTrackingSetupGroupItemHotel.NegotiatedUpgradeAllowedFlag         = true;
            priceTrackingSetupGroupItemHotel.CancellationPolicyUpgradeAllowedFlag = true;
            priceTrackingSetupGroupItemHotel.KingQueenUpgradeAllowedFlag          = true;

            //Rate Codes
            priceTrackingSetupGroupItemHotel.CWTRateTrackingCode1 = "CWT";
            priceTrackingSetupGroupItemHotel.CWTRateTrackingCode2 = "CWV";

            //Admin Only
            priceTrackingSetupGroupItemHotel.AlphaCodeRemarkField = "Y";

            //Currency
            CurrencyRepository currencyRepository = new CurrencyRepository();
            SelectList         currencysList      = new SelectList(currencyRepository.GetAllCurrencies().ToList(), "CurrencyCode", "Name");

            ViewData["Currencies"] = currencysList;

            //Lists

            ViewData["ClientHasProvidedWrittenApprovalFlagList"] = new SelectList(commonRepository.GetTrueFalseList().ToList(), "Value", "Text", priceTrackingSetupGroupItemHotel.ClientHasProvidedWrittenApprovalFlag);

            ViewData["ClientHasHotelFeesInMSAFlagList"] = new SelectList(commonRepository.GetTrueFalseList().ToList(), "Value", "Text", priceTrackingSetupGroupItemHotel.ClientHasHotelFeesInMSAFlag);

            ViewData["ClientUsesConfermaVirtualCardsFlagList"] = new SelectList(commonRepository.GetTrueFalseList().ToList(), "Value", "Text", priceTrackingSetupGroupItemHotel.ClientUsesConfermaVirtualCardsFlag);

            ViewData["CentralFulfillmentTimeZoneRuleCodes"] = new SelectList(timeZoneRuleRepository.GetAllTimeZoneRules().ToList(), "TimeZoneRuleCode", "TimeZoneRuleCodeDesc");

            ViewData["TimeZoneRules"] = new SelectList(timeZoneRuleRepository.GetAllTimeZoneRules().ToList(), "TimeZoneRuleCode", "TimeZoneRuleCodeDesc");

            ViewData["SharedSavingsList"] = new SelectList(commonRepository.GetTrueFalseList().ToList(), "Value", "Text", priceTrackingSetupGroupItemHotel.SharedSavingsFlag);

            ViewData["TransactionFeeList"] = new SelectList(commonRepository.GetTrueFalseList().ToList(), "Value", "Text", priceTrackingSetupGroupItemHotel.TransactionFeeFlag);

            ViewData["RoomTypeUpgradeAllowedFlagList"] = new SelectList(commonRepository.GetAllowedNotAllowedList().ToList(), "Value", "Text", priceTrackingSetupGroupItemHotel.RoomTypeUpgradeAllowedFlag);

            ViewData["BeddingTypeUpgradeAllowedFlagList"] = new SelectList(commonRepository.GetAllowedNotAllowedList().ToList(), "Value", "Text", priceTrackingSetupGroupItemHotel.BeddingTypeUpgradeAllowedFlag);

            ViewData["HotelRateCodeUpgradeAllowedFlagList"] = new SelectList(commonRepository.GetAllowedNotAllowedList().ToList(), "Value", "Text", priceTrackingSetupGroupItemHotel.HotelRateCodeUpgradeAllowedFlag);

            ViewData["CancellationPolicyUpgradeAllowedFlagList"] = new SelectList(commonRepository.GetAllowedNotAllowedList().ToList(), "Value", "Text", priceTrackingSetupGroupItemHotel.CancellationPolicyUpgradeAllowedFlag);

            ViewData["KingQueenUpgradeAllowedFlagList"] = new SelectList(commonRepository.GetAllowedNotAllowedList().ToList(), "Value", "Text", priceTrackingSetupGroupItemHotel.KingQueenUpgradeAllowedFlag);

            ViewData["BreakfastChangesAllowedFlagList"] = new SelectList(commonRepository.GetAllowedNotAllowedList().ToList(), "Value", "Text", priceTrackingSetupGroupItemHotel.BreakfastChangesAllowedFlag);

            ViewData["EnableValueTrackingFlagList"] = new SelectList(commonRepository.GetTrueFalseList().ToList(), "Value", "Text");

            //System User
            ViewData["SystemUser"] = "";
            string adminUserGuid = User.Identity.Name.Split(new[] { '|' })[0];
            SystemUserRepository systemUserRepository = new SystemUserRepository();
            SystemUser           systemUser           = systemUserRepository.GetUserBySystemUserGuid(adminUserGuid);

            if (systemUser != null)
            {
                string username = systemUser.FirstName + " " + systemUser.LastName;
                ViewData["SystemUser"] = string.Format("{0} - {1}", username, adminUserGuid);
            }

            return(View(priceTrackingSetupGroupItemHotel));
        }
        // GET: /Edit
        public ActionResult Edit(int id)
        {
            //Get Item From Database
            PriceTrackingSetupGroupItemHotel group = new PriceTrackingSetupGroupItemHotel();

            group = priceTrackingSetupGroupItemHotelRepository.GetPriceTrackingSetupGroupItemHotel(id);

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

            //Get Item From Database
            PriceTrackingSetupGroup priceTrackingSetupGroup = new PriceTrackingSetupGroup();

            priceTrackingSetupGroup = priceTrackingSetupGroupRepository.GetPriceTrackingSetupGroup(group.PriceTrackingSetupGroupId);

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

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

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

            priceTrackingSetupGroupItemHotelRepository.EditForDisplay(group);

            //Set Access Rights to Admin
            ViewData["AdminAccess"] = "";
            if (hierarchyRepository.AdminHasDomainWriteAccess(adminGroupName))
            {
                ViewData["AdminAccess"] = "WriteAccess";
            }

            //PriceTrackingSetupGroup
            ViewData["PriceTrackingSetupGroupId"]   = priceTrackingSetupGroup.PriceTrackingSetupGroupId;
            ViewData["PriceTrackingSetupGroupName"] = priceTrackingSetupGroup.PriceTrackingSetupGroupName;

            //Currency
            CurrencyRepository currencyRepository = new CurrencyRepository();
            SelectList         currencysList      = new SelectList(currencyRepository.GetAllCurrencies().ToList(), "CurrencyCode", "Name", group.CurrencyCode);

            ViewData["Currencies"] = currencysList;

            //Lists

            ViewData["ClientHasProvidedWrittenApprovalFlagList"] = new SelectList(commonRepository.GetTrueFalseList().ToList(), "Value", "Text", group.ClientHasProvidedWrittenApprovalFlag);

            ViewData["ClientHasHotelFeesInMSAFlagList"] = new SelectList(commonRepository.GetTrueFalseList().ToList(), "Value", "Text", group.ClientHasHotelFeesInMSAFlag);

            ViewData["ClientUsesConfermaVirtualCardsFlagList"] = new SelectList(commonRepository.GetTrueFalseList().ToList(), "Value", "Text", group.ClientUsesConfermaVirtualCardsFlag);

            ViewData["CentralFulfillmentTimeZoneRuleCodes"] = new SelectList(timeZoneRuleRepository.GetAllTimeZoneRules().ToList(), "TimeZoneRuleCode", "TimeZoneRuleCodeDesc");

            ViewData["ClientHasHotelFeesInMSAFlagList"] = new SelectList(commonRepository.GetTrueFalseList().ToList(), "Value", "Text", group.ClientHasHotelFeesInMSAFlag);

            ViewData["SharedSavingsList"] = new SelectList(commonRepository.GetTrueFalseList().ToList(), "Value", "Text", group.SharedSavingsFlag);

            ViewData["TransactionFeeList"] = new SelectList(commonRepository.GetTrueFalseList().ToList(), "Value", "Text", group.TransactionFeeFlag);

            ViewData["RoomTypeUpgradeAllowedFlagList"] = new SelectList(commonRepository.GetAllowedNotAllowedList().ToList(), "Value", "Text", group.RoomTypeUpgradeAllowedFlag);

            ViewData["BeddingTypeUpgradeAllowedFlagList"] = new SelectList(commonRepository.GetAllowedNotAllowedList().ToList(), "Value", "Text", group.BeddingTypeUpgradeAllowedFlag);

            ViewData["HotelRateCodeUpgradeAllowedFlagList"] = new SelectList(commonRepository.GetAllowedNotAllowedList().ToList(), "Value", "Text", group.HotelRateCodeUpgradeAllowedFlag);

            ViewData["CancellationPolicyUpgradeAllowedFlagList"] = new SelectList(commonRepository.GetAllowedNotAllowedList().ToList(), "Value", "Text", group.CancellationPolicyUpgradeAllowedFlag);

            ViewData["KingQueenUpgradeAllowedFlagList"] = new SelectList(commonRepository.GetAllowedNotAllowedList().ToList(), "Value", "Text", group.KingQueenUpgradeAllowedFlag);

            ViewData["BreakfastChangesAllowedFlagList"] = new SelectList(commonRepository.GetAllowedNotAllowedList().ToList(), "Value", "Text", group.BreakfastChangesAllowedFlag);

            ViewData["EnableValueTrackingFlagList"] = new SelectList(commonRepository.GetTrueFalseList().ToList(), "Value", "Text");

            //System User
            ViewData["SystemUser"] = group.LastUpdateUserIdentifier != null ? group.LastUpdateUserIdentifier : group.CreationUserIdentifier;

            return(View(group));
        }
        public ActionResult Create(PriceTrackingSetupGroupItemHotel group, FormCollection collection)
        {
            //Get Item From Database
            PriceTrackingSetupGroup priceTrackingSetupGroup = new PriceTrackingSetupGroup();

            priceTrackingSetupGroup = priceTrackingSetupGroupRepository.GetPriceTrackingSetupGroup(group.PriceTrackingSetupGroupId);

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

            //Check Access Rights to Domain
            if (!hierarchyRepository.AdminHasDomainWriteAccess(groupName))
            {
                ViewData["Message"] = "You do not have access to this item";
                return(View("Error"));
            }

            //Capture XML from multiple fields
            group.PriceTrackingSetupGroupItemHotelTrackingAlertEmailAddressesXML = GetPriceTrackingSetupGroupItemHotelTrackingAlertEmailAddressesXML(collection);

            //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"));
            }

            //Database Update
            try
            {
                priceTrackingSetupGroupItemHotelRepository.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",
                       new {
                id = priceTrackingSetupGroup.PriceTrackingSetupGroupId,
                controller = "PriceTrackingSetupGroup"
            }
                       ));
        }
Ejemplo n.º 8
0
        //PriceTrackingSetupGroupItemHotelTrackingAlertEmailAddress
        public XElement GetPriceTrackingSetupGroupItemHotelTrackingAlertEmailAddressesXML(PriceTrackingSetupGroupItemHotel priceTrackingSetupGroupItemHotel)
        {
            XmlDocument    doc = new XmlDocument();
            XmlDeclaration dec = doc.CreateXmlDeclaration("1.0", null, null);

            doc.AppendChild(dec);
            XmlElement root = doc.CreateElement("PriceTrackingSetupGroupItemHotelTrackingAlertEmailAddresses");

            doc.AppendChild(root);

            if (priceTrackingSetupGroupItemHotel.PriceTrackingSetupGroupItemHotelTrackingAlertEmailAddressesXML != null)
            {
                foreach (PriceTrackingSetupGroupItemHotelTrackingAlertEmailAddress priceTrackingSetupGroupAdditionalEmailAddress in priceTrackingSetupGroupItemHotel.PriceTrackingSetupGroupItemHotelTrackingAlertEmailAddressesXML)
                {
                    XmlElement xmlPriceTrackingSetupGroupItemHotelTrackingAlertEmailAddress = doc.CreateElement("PriceTrackingSetupGroupItemHotelTrackingAlertEmailAddress");

                    if (!string.IsNullOrEmpty(priceTrackingSetupGroupAdditionalEmailAddress.EmailAddress))
                    {
                        //EmailAddress
                        XmlElement xmlEmailAddress = doc.CreateElement("EmailAddress");
                        xmlEmailAddress.InnerText = priceTrackingSetupGroupAdditionalEmailAddress.EmailAddress.ToString();
                        xmlPriceTrackingSetupGroupItemHotelTrackingAlertEmailAddress.AppendChild(xmlEmailAddress);

                        root.AppendChild(xmlPriceTrackingSetupGroupItemHotelTrackingAlertEmailAddress);
                    }
                }
            }

            return(System.Xml.Linq.XElement.Parse(doc.OuterXml));
        }