protected void btnLocateBooking_Click(object sender, EventArgs e) { CancelDetailsEntryInfo objCancelDetailsEntryInfo = new CancelDetailsEntryInfo(); objCancelDetailsEntryInfo.HotelCode = _CancelDetailsEntryInfo.HotelCode; objCancelDetailsEntryInfo.ConfirmationNumber = tbConfirmationNumber.Text.ToUpper().Trim(); objCancelDetailsEntryInfo.GuestLastName = tbGuestLastName.Text.ToUpper().Trim(); objCancelDetailsEntryInfo.SelectedConfirmationNumbersToCancel = new string[0]; _CancelDetailsEntryInfo = objCancelDetailsEntryInfo; CancelDetailsCompleted(this, new EventArgs()); return; }
public void InitCancelDetailsEntryInfo() { CancelDetailsEntryInfo objCancelDetailsEntryInfo = new CancelDetailsEntryInfo(); objCancelDetailsEntryInfo.HotelCode = ""; objCancelDetailsEntryInfo.ConfirmationNumber = ""; objCancelDetailsEntryInfo.GuestLastName = ""; objCancelDetailsEntryInfo.SelectedConfirmationNumbersToCancel = new string[0]; Session["CancelDetailsEntryInfo"] = objCancelDetailsEntryInfo; return; }
// General support methods public HotelBookingReadSegment[] GetValidatedBookings(CancelDetailsEntryInfo objCancelDetailsEntryInfo) { HotelBookingReadRS objHotelBookingReadRS = (HotelBookingReadRS)Session["HotelBookingReadRS"]; DateTime dtLocateDate = TZNet.ToLocal(this.GetTimeZone(objCancelDetailsEntryInfo.HotelCode), DateTime.UtcNow).Date; if (objHotelBookingReadRS.Segments == null || objHotelBookingReadRS.Segments.Length == 0) return new HotelBookingReadSegment[0]; List<HotelBookingReadSegment> lHotelBookingReadSegments = new List<HotelBookingReadSegment>(); for (int si = 0; si < objHotelBookingReadRS.Segments.Length; si++) { if (objHotelBookingReadRS.Segments[si].BookingReadStatus != BookingReadStatus.Active) continue; if (objHotelBookingReadRS.Segments[si].ArrivalDate.Date < dtLocateDate.Date) continue; if (objHotelBookingReadRS.Segments[si].HotelCode != objCancelDetailsEntryInfo.HotelCode) continue; bool bBookingProfileLocated = false; for (int pi = 0; pi < objHotelBookingReadRS.Segments[si].Profiles.Length; pi++) { if (objHotelBookingReadRS.Segments[si].Profiles[pi].Type == ProfileType.Traveler) { if (objHotelBookingReadRS.Segments[si].Profiles[pi].PersonLastName.ToUpper() == objCancelDetailsEntryInfo.GuestLastName.ToUpper()) { bBookingProfileLocated = true; break; } } } if (!bBookingProfileLocated) continue; lHotelBookingReadSegments.Add(objHotelBookingReadRS.Segments[si]); } return lHotelBookingReadSegments.ToArray(); }
private void ValidateCancelDetails(CancelDetailsEntryInfo objCancelDetailsEntryInfo) { if (objCancelDetailsEntryInfo.HotelCode == null || objCancelDetailsEntryInfo.HotelCode == "") this.AddPageError(PageErrorType.ValidationError, (String)GetGlobalResourceObject("SiteErrorMessages", "NoHotelSelection")); if (objCancelDetailsEntryInfo.ConfirmationNumber.Trim() == "") this.AddPageError(PageErrorType.ValidationError, (String)GetGlobalResourceObject("SiteErrorMessages", "NoConfirmationNumberEntry")); if (objCancelDetailsEntryInfo.GuestLastName.Trim() == "") this.AddPageError(PageErrorType.ValidationError, (String)GetGlobalResourceObject("SiteErrorMessages", "NoLastNameEntry")); return; }
private void ValidateCancellationRequest(CancelDetailsEntryInfo objCancelDetailsEntryInfo) { if (WbsUiHelper.GetValidatedBookings(objCancelDetailsEntryInfo).Length == 0) this.AddPageError(PageErrorType.ValidationError, (String)GetGlobalResourceObject("SiteErrorMessages", "RequestedBookingNotLocated")); return; }
protected void Page_PreRenderComplete(object sender, EventArgs e) { // Language selection if (!string.IsNullOrWhiteSpace(Request.QueryString.Get(Constants.DeeplinkParams.Language))) { LanguageSetup[] objLanguages = WbsUiHelper.GetLanguageSetups(); for (int i = 0; i < objLanguages.Length; i++) { if (objLanguages[i].UICulture == Request.QueryString.Get(Constants.DeeplinkParams.Language)) { WbsUiHelper.SelectedCulture = objLanguages[i].Culture; WbsUiHelper.SelectedUICulture = objLanguages[i].UICulture; break; } } } // Profile login account selection if (!string.IsNullOrWhiteSpace(Request.QueryString.Get(Constants.DeeplinkParams.Account))) { List<Profile> lProfiles = new List<Profile>(); ProfileReadRS objLoginProfileReadRS = (ProfileReadRS)Session[Constants.Sessions.LoginProfileReadRS]; if (objLoginProfileReadRS.ResponseHeader.Success) { lProfiles.Add(objLoginProfileReadRS.Profile); ProfileIdentifier objLinkedProfileIdentifier = ProfileHelper.GetProfileIdentifier(objLoginProfileReadRS.Profile, ProfileIdentifierType.LinkedProfileID); if (objLinkedProfileIdentifier != null) { ProfileReadRS objLinkedProfileReadRS = (ProfileReadRS)Session[Constants.Sessions.LinkedProfileReadRS]; if (objLinkedProfileReadRS.ResponseHeader.Success) { lProfiles.Add(objLinkedProfileReadRS.Profile); Session[Constants.Sessions.LoginProfiles] = lProfiles.ToArray(); Session[Constants.Sessions.IsLoggedIn] = true; } } } } // Booking stay criteria command if (!string.IsNullOrWhiteSpace(Request.QueryString.Get(Constants.DeeplinkParams.Command)) && Request.QueryString.Get(Constants.DeeplinkParams.Command).Equals(Constants.DeeplinkParams.CmdStayCriteria, StringComparison.InvariantCultureIgnoreCase)) { if (Request.QueryString[Constants.DeeplinkParams.DefaultStayCriteria] == "1") { DateTime dtCurrentLocal = TZNet.ToLocal(WebconfigHelper.DefaultTimeZone, DateTime.UtcNow).Date; dtArrivalDate = dtCurrentLocal.Date; dtDepartureDate = dtCurrentLocal.AddDays(1).Date; intNumberRooms = 1; intAdults[0] = 2; intChildren[0] = 0; bArrivalDateSpecified = true; bDepartureDateSpecified = true; bNumberRoomsSpecified = true; bAdultsSpecified[0] = true; bChildrenSpecified[0] = true; } if (!string.IsNullOrWhiteSpace(Request.QueryString.Get(Constants.DeeplinkParams.AreaCode))) { strAreaID = Request.QueryString.Get(Constants.DeeplinkParams.AreaCode); bAreaIDSpecified = true; } if (!string.IsNullOrWhiteSpace(Request.QueryString.Get(Constants.DeeplinkParams.HotelCode))) { strHotelCode = Request.QueryString.Get(Constants.DeeplinkParams.HotelCode); bHotelCodeSpecified = true; } if (!string.IsNullOrWhiteSpace(Request.QueryString.Get(Constants.DeeplinkParams.ArrivalDate))) { if (DateTime.TryParse(Request.QueryString.Get(Constants.DeeplinkParams.ArrivalDate), out dtArrivalDate)) bArrivalDateSpecified = true; } if (!string.IsNullOrWhiteSpace(Request.QueryString.Get(Constants.DeeplinkParams.DepartureDate))) { if (DateTime.TryParse(Request.QueryString.Get(Constants.DeeplinkParams.DepartureDate), out dtDepartureDate)) bDepartureDateSpecified = true; } if (!string.IsNullOrWhiteSpace(Request.QueryString.Get(Constants.DeeplinkParams.PromotionCode))) { strPromoCode = Request.QueryString.Get(Constants.DeeplinkParams.PromotionCode); } if (!string.IsNullOrWhiteSpace(Request.QueryString.Get(Constants.DeeplinkParams.NumberOfRoom))) { if (Int32.TryParse(Request.QueryString.Get(Constants.DeeplinkParams.NumberOfRoom), out intNumberRooms)) bNumberRoomsSpecified = true; } for (int i = 0; i < 8; i++) { if (!string.IsNullOrWhiteSpace(Request.QueryString[string.Format(Constants.DeeplinkParams.NumberOfAdult, i + 1)])) { if (Int32.TryParse(Request.QueryString[string.Format(Constants.DeeplinkParams.NumberOfAdult, i + 1)], out intAdults[i])) bAdultsSpecified[i] = true; } if (!string.IsNullOrWhiteSpace(Request.QueryString[string.Format(Constants.DeeplinkParams.NumberOfChild, i + 1)])) { if (Int32.TryParse(Request.QueryString[string.Format(Constants.DeeplinkParams.NumberOfChild, i + 1)], out intChildren[i])) bChildrenSpecified[i] = true; } } // Validate query string parameters var objStayCriteriaSelection = (StayCriteriaSelection)Session[Constants.Sessions.StayCriteriaSelection]; if (!IsValidHotelCode()) { Session[Constants.Sessions.CurrentBookingStep] = BookingSteps.SelectHotel; RedirectTo("~/Default.aspx"); return; } objStayCriteriaSelection.HotelCode = strHotelCode; if (!IsValidStayDate()) { Session[Constants.Sessions.CurrentBookingStep] = BookingSteps.SelectStayDate; RedirectTo("~/Default.aspx"); return; } objStayCriteriaSelection.ArrivalDate = dtArrivalDate; objStayCriteriaSelection.DepartureDate = dtDepartureDate; if (!IsValidStayPolicy()) { Session[Constants.Sessions.CurrentBookingStep] = BookingSteps.SelectRoomQuantity; RedirectTo("~/Pages/CheckAvailability.aspx"); return; } objStayCriteriaSelection.PromotionCode = strPromoCode; objStayCriteriaSelection.RoomOccupantSelections = new RoomOccupantSelection[intNumberRooms]; for (int i = 0; i < objStayCriteriaSelection.RoomOccupantSelections.Length; i++) { objStayCriteriaSelection.RoomOccupantSelections[i] = new RoomOccupantSelection { RoomRefID = (i + 1).ToString(), NumberRooms = 1 }; objStayCriteriaSelection.RoomOccupantSelections[i].NumberAdults = intAdults[i]; objStayCriteriaSelection.RoomOccupantSelections[i].NumberChildren = intChildren[i]; } Session[Constants.Sessions.CurrentBookingStep] = BookingSteps.SelectRoomDetail; Session[Constants.Sessions.CurrentRoomDetailStep] = RoomDetailSelectionStep.SelectAdultQuantity; Context.Items.Add("DeepLinkNav", "1"); RedirectTo("~/Pages/CheckAvailability.aspx"); return; } // Booking cancellation command else if (!string.IsNullOrWhiteSpace(Request.QueryString[Constants.DeeplinkParams.Command]) && Request.QueryString[Constants.DeeplinkParams.Command].Equals(Constants.DeeplinkParams.CmdCancelReservation, StringComparison.InvariantCultureIgnoreCase)) { if (!string.IsNullOrWhiteSpace(Request.QueryString.Get(Constants.DeeplinkParams.HotelCode))) { strHotelCode = Request.QueryString.Get(Constants.DeeplinkParams.HotelCode); } CancelDetailsEntryInfo objCancelDetailsEntryInfo = new CancelDetailsEntryInfo { HotelCode = strHotelCode, ConfirmationNumber = "", GuestLastName = "", SelectedConfirmationNumbersToCancel = new string[0] }; Session[Constants.Sessions.CancelDetailsEntryInfo] = objCancelDetailsEntryInfo; RedirectTo("~/Pages/CancelReservation.aspx?DeepLinkNav=1"); return; } RedirectTo("~/Default.aspx"); return; }