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