示例#1
0
        public string GetSubject()
        {
            //Get Subject from setting
            subject = SettingService.GetSettingValueByKey("BackEnd_RequestEmail_Subject");
            gp      = GuestPlannerService.GetGuestPlannerByID(requestID);
            Hotel hotelInfo = HotelService.GetHotelByCode(gp.Hotel_Code);

            if (string.IsNullOrWhiteSpace(subject))
            {
                //subject = "Requests - " + gp.ConfirmationNum + " - "
                //    + (gp.EventDate.HasValue ? gp.EventDate.Value.ToShortDateString() : string.Empty) + " - " + gp.Event;

                subject = "Requests - " + gp.ConfirmationNum + " - "
                          + (gp.EventDate.HasValue ? gp.EventDate.Value.ToString(hotelInfo.DateFormat.ToLower().Replace("m", "M")) : string.Empty) + " - " + gp.Event;
            }
            else
            {
                //[Property Name] - [Category] - [Date] - [Confirmation #]
                subject = subject.Replace(SettingPlaceHolder.RequestConfirmEmailHoder.PROPERTY_NAME.ToString(), hotelInfo.Hotel_Name);
                subject = subject.Replace(SettingPlaceHolder.RequestConfirmEmailHoder.CATEGORY.ToString(), gp.Event);
                subject = subject.Replace(SettingPlaceHolder.RequestConfirmEmailHoder.DATE.ToString(), gp.EventDate.HasValue ? gp.EventDate.Value.ToShortDateString() : string.Empty);
                subject = subject.Replace(SettingPlaceHolder.RequestConfirmEmailHoder.CONFIRMATION_POUND_SIGN.ToString(), gp.ConfirmationNum);
            }

            return(subject);
        }
示例#2
0
        private bool InsertData(FGuest guest, string plannerEventID, ref List <int> guestPlannerIDList, ref List <int> eUpgradeRequestIDList, string langForSave, string currencyForSave)
        {
            bool succeed = false;

            #region Insert data

            GuestPlanner unconfirmedRequest = guestPlannerService.GetUnconfirmedRequest(guest.LoginConfirmationNum, plannerEventID);
            if (unconfirmedRequest != null)
            {
                unconfirmedRequest.LastModifiedDate = DateTime.Now;
                unconfirmedRequest.ShowItinerary    = "Y";

                if (!string.IsNullOrEmpty(langForSave))
                {
                    unconfirmedRequest.LangId = langForSave;
                }
                if (!string.IsNullOrEmpty(currencyForSave))
                {
                    unconfirmedRequest.CurrencyName = currencyForSave;
                }

                guestPlannerService.updateUnconfirmedRequest(unconfirmedRequest);
                guestPlannerIDList.Add(unconfirmedRequest.ID);
                succeed = true;
            }
            else
            {
                #region insert to Table GuestPlanner

                int id = 0;
                Int32.TryParse(plannerEventID, out id);
                string       cultureID    = "en-US";
                PlannerEvent plannerEvent = GetPlannerEvent(id, cultureID);
                if (null == plannerEvent)
                {
                    return(false);
                }
                GuestPlanner guestPlanner = new GuestPlanner();
                guestPlanner.LookupID             = Guid.NewGuid();
                guestPlanner.RequestID            = "";
                guestPlanner.ConfirmationNum      = guest.ConfirmationNum;
                guestPlanner.LoginConfirmationNum = guest.LoginConfirmationNum;
                guestPlanner.Hotel_Code           = guest.HOTEL_CODE;
                guestPlanner.Event         = plannerEvent.EventCategory;
                guestPlanner.Description   = plannerEvent.EventDetailDesc;
                guestPlanner.DescID        = plannerEvent.ID.ToString();
                guestPlanner.EventDate     = guest.ArrivalDate;
                guestPlanner.EventTime     = DateTime.Now.ToString("HH:MM");
                guestPlanner.Name          = "";
                guestPlanner.NumberPeople  = 1;
                guestPlanner.VendorID      = null;
                guestPlanner.RequestTypeID = null;
                guestPlanner.Other1        = null;
                guestPlanner.Other2        = null;

                guestPlanner.Status           = "Requested";
                guestPlanner.ConfirmStatus    = false;
                guestPlanner.NewConfirmStatus = "Pending";
                guestPlanner.ConfirmConcierge = null;
                guestPlanner.ConfirmDate      = null;

                guestPlanner.ConciergeInitial = "eUpgrade";
                guestPlanner.Removed          = false;
                guestPlanner.ShowItinerary    = "Y";
                guestPlanner.Comments         = "";
                guestPlanner.CreatedDate      = DateTime.Now;
                guestPlanner.LastModifiedDate = DateTime.Now;
                guestPlanner.AdditionalInfo   = null;

                if (!string.IsNullOrEmpty(currencyForSave))
                {
                    guestPlanner.CurrencyName = currencyForSave;
                }
                else
                {
                    guestPlanner.CurrencyName = plannerEvent.CurrencyName;
                }

                guestPlanner.Price              = plannerEvent.Price;
                guestPlanner.USDPrice           = plannerEvent.USDPrice;
                guestPlanner.RevenuePP          = plannerEvent.RevenuePP;
                guestPlanner.ActionTaken        = false;
                guestPlanner.IsNotificationSent = false;
                guestPlanner.RequestSessionID   = Guid.NewGuid();

                if (!string.IsNullOrEmpty(langForSave))
                {
                    guestPlanner.LangId = langForSave;
                }
                else
                {
                    guestPlanner.LangId = cultureID;
                }

                guestPlanner.SMSNotification = false;
                guestPlanner.USDGratuity     = null;
                guestPlanner.SMSNotifyCell   = "";

                int guestPlannerID = 0;
                guestPlannerID = guestPlannerService.AddNewGuestPlanner(guestPlanner);
                guestPlannerIDList.Add(guestPlannerID);

                #endregion

                #region insert to table GustPlanner_Log
                if (guestPlannerID > 0 && null != guestPlanner)
                {
                    int guestPlannerLogID = 0;
                    var log = mapper.Map <GuestPlanner_Log>(guestPlanner);
                    guestPlannerLogID = guestPlannerService.AddGuestPlannerLog(log);
                }
                #endregion

                #region insert to Table eUpgradeRequest

                var eRequest = new eUpgradeRequest();
                eRequest.InsertDate           = DateTime.Now;
                eRequest.loginConfirmationNum = guest.LoginConfirmationNum;
                eRequest.HotelCode            = guest.HOTEL_CODE;
                eRequest.BookedRoomType       = plannerEvent.RoomTypeCodeBooked;
                eRequest.UpgradeRoomType      = plannerEvent.RoomTypeCodeUpgrade;
                eRequest.UpgradeStatus        = "Pending";
                eRequest.UpgradeCost          = guestPlanner.USDPrice;
                RoomType_Code roomType_Code = roomTypeRepo.Get(x => x.Hotel_Code == guest.HOTEL_CODE && x.RoomCode == plannerEvent.RoomTypeCodeUpgrade);
                eRequest.UpgradeType    = roomType_Code.UpgradeType;
                eRequest.PerNightCharge = (roomType_Code.PerNightCharge == "Y") ? true : false;
                string transactionCode = transactionCodeRepo.GetAll().Where(t => t.HotelCode == guest.HOTEL_CODE && t.PerNightCharge == eRequest.PerNightCharge && t.UpgradeType == roomType_Code.UpgradeType).Select(t => t.TransactionCode).FirstOrDefault();
                eRequest.TransactionCode = transactionCode;
                Hotel hotel = hotelService.GetHotelByCode(guest.HOTEL_CODE);
                if (!string.IsNullOrEmpty(hotel.CenResServiceInterface) && !string.IsNullOrEmpty(hotel.CenResServiceUrl) &&
                    !string.IsNullOrEmpty(hotel.CendynPropertyId) && hotel.AutoRequestProcessYN)
                {
                    eRequest.TotalUpgradeFees = guest.UpgradeFees + guestPlanner.USDPrice.GetValueOrDefault();
                }
                else
                {
                    eRequest.TotalUpgradeFees = 0;
                }

                eRequest.PackageCode = guestPlannerService.GetPackageCode(plannerEvent.RoomTypeCodeUpgrade, guest.HOTEL_CODE);


                int eUpgradeRequestID = 0;
                eUpgradeRequestID = guestPlannerService.AddNewEUpgradeRequest(eRequest);
                eUpgradeRequestIDList.Add(eUpgradeRequestID);

                #endregion
            }

            #endregion


            return(succeed);
        }
示例#3
0
        public string GetEmailBody()
        {
            //Email Boday
            var emailBody   = "";
            var textContext = "";

            var emailBody_grant = "We are pleased to let you know that your requested upgrade has been granted for the defined additional rates: \n[Content]";
            var emailBody_deny  = "We regret to inform you that your requested upgrade has been denied for the defined additional rates: \n[Content]";

            //TODO: change this call to constructor
            gp = GuestPlannerService.GetGuestPlannerByID(requestID);

            if (gp.Status == "Confirmed")
            {
                var setting_grantEmailBody = hotelSettingService.GetHotelSettingValue(gp.Hotel_Code, "UpgradeGrantEmailBody");
                if (!string.IsNullOrWhiteSpace(setting_grantEmailBody))
                {
                    emailBody_grant = setting_grantEmailBody;
                }

                //Requests
                var requests_grant = GuestPlannerService.GetGrantedRequestForEmail(gp.LoginConfirmationNum);

                foreach (var item in requests_grant)
                {
                    string perNight = "";
                    if (!string.IsNullOrWhiteSpace(item.PerNightCharge) && item.PerNightCharge.Equals("Y"))
                    {
                        perNight = "per night";
                    }
                    //textContext += string.Format("{0}, for ${1} {2}\n", item.UpgradedRoomType, (item.UpgradeCost ?? 0).ToString("#,##0.00"), string.IsNullOrWhiteSpace(item.PerNightDesc) ? "" : "per night");
                    textContext += string.Format("{0}, for {1} {2}\n", item.UpgradedRoomType, item.CurrencySymbol + (item.UpgradeCost ?? 0).ToString("#,##0.00"), perNight);
                }
                emailBody = emailBody_grant.Replace("[Content]", textContext);
            }
            else if (gp.Status == "Denied")
            {
                var setting_denialEmailBody = hotelSettingService.GetHotelSettingValue(gp.Hotel_Code, "UpgradeDenialEmailBody");
                if (!string.IsNullOrWhiteSpace(setting_denialEmailBody))
                {
                    emailBody_deny = setting_denialEmailBody;
                }

                //Requests
                var requests_deny = GuestPlannerService.GetDeniedRequestForEmail(gp.LoginConfirmationNum);

                foreach (var item in requests_deny)
                {
                    string perNight = "";
                    if (!string.IsNullOrWhiteSpace(item.PerNightCharge) && item.PerNightCharge.Equals("Y"))
                    {
                        perNight = "per night";
                    }
                    //textContext += string.Format("{0}, for ${1} {2}\n", item.UpgradedRoomType, (item.UpgradeCost ?? 0).ToString("#,##0.00"), string.IsNullOrWhiteSpace(item.PerNightCharge) ? "" : "per night");
                    textContext += string.Format("{0}, for {1} {2}\n", item.UpgradedRoomType, item.CurrencySymbol + (item.UpgradeCost ?? 0).ToString("#,##0.00"), perNight);
                }
                emailBody = emailBody_deny.Replace("[Content]", textContext);
            }

            return(emailBody);
        }