public void OwnerWebStats(BookReservationRequest request, BookReservationResponse reservationResponse) { try { OwnerWebStatsRequest ownerRequest = new OwnerWebStatsRequest(); string cursession = string.Empty; string ownerID = string.Empty; var searchtabvalue = string.Empty; var SearchTab = "Dest"; BlueGreenContext bgContext = new BlueGreenContext(); //if (searchtype = "2") //{ // SearchTab = "Dest"; // SearchTabSubVal = Session("SearchCity") // } //else if searchtype = "3" Then // SearchTab = "Exp" // SearchTabSubVal = Session("SearchCity") // searchtabvalue = Session("experience") //End If if (HttpContext.Session != null) { cursession = HttpContext.Session.SessionID; ownerID = bgContext.OwnerId; } ownerRequest.WebSessionID = cursession; ownerRequest.SiteID = "7"; ownerRequest.OwnerID = request.OwnerID.ToString(); ownerRequest.SearchTab = ""; ownerRequest.SearchTabSubVal = ""; ownerRequest.SearchTabValue = ""; ownerRequest.ResortID = request.ResortID.ToString(); ownerRequest.BGOUnitType = request.UnitTypeCode; ownerRequest.ProjectNumber = request.ReservationProjectNumber; ownerRequest.UnitType = request.UnitTypeCode; DateTime checkinDate = DateTime.Parse(request.CheckInDate); ownerRequest.CheckInDate = checkinDate.ToString("MM/dd/yyyy"); ownerRequest.CheckOutDate = checkinDate.AddDays(request.LengthOfStay).ToString(); ownerRequest.NumberOfGuests = request.NumberOfAdults.ToString(); ownerRequest.SumBal = request.Points.ToString(); ownerRequest.PPPEligible = ""; ownerRequest.PPPFee = ""; ownerRequest.ReservationNumber = reservationResponse.ConfirmReservation.ReservationNumber.ToString(); ownerRequest.Phase = "3"; ownerRequest.RecordReturnCode = ""; ownerRequest.ExtendedResort = "0"; ownerRequest.ExtendedStay = "0"; ownerRequest.Handycap = ""; ownerRequest.QryTime = ""; ownerRequest.CreatedDate = DateTime.Now.Date.ToString("MM/dd/yyyy"); ownerRequest.CreatedBy = "Web"; ownerRequest.UnitType = request.UnitTypeCode; ProfileService profileService = new ProfileService(); profileService.OwnerWebStats(ownerRequest); } catch (Exception ex) { Sitecore.Diagnostics.Log.Error("Unexpected exception calling OwnerWebStats", ex, "reservationcontroller.OwnerWebStats"); } }
private BookReservationResponse ExecuteBook(ReservationParameters reservationContext) { // bool statusExecuteBook = false; BlueGreenContext bgContext = new BlueGreenContext(); BookReservationRequest request = new BookReservationRequest(); request.ReservationProjectNumber = reservationContext.ProjectNumber.ToString(); request.OwnerID = reservationContext.OwnerId; request.UnitTypeCode = reservationContext.UnitType; request.CheckInDate = reservationContext.CheckInDate.ToString("MM/dd/yyyy"); request.LengthOfStay = Convert.ToInt16((reservationContext.CheckOutDate - reservationContext.CheckInDate).TotalDays); request.NumberOfAdults = int.Parse(reservationContext.Guest_NumberOfGuest); //TODO get value from context request.AccountNumber = bgContext.GetPrimaryAccountNumber(); request.OwnerProjectNumber = bgContext.GetOwnerAccountProject().ToString(); //Changed to Enclose Special Requests with Special Request for BGO only string specialCharacter = Sitecore.Configuration.Settings.GetSetting("IdentifierForSpecialRequestFromBGO"); request.Comments = (reservationContext.text_SpecialRequests == null) ? "" : specialCharacter + reservationContext.text_SpecialRequests + specialCharacter; if (!string.IsNullOrEmpty(reservationContext.wheelchairaccessible) && reservationContext.wheelchairaccessible == "1") { request.HandicapAccessible = "Y"; request.Comments = "REQHANDICAP " + request.Comments; } if (reservationContext.ReservationType == SearchParameters.RESERVATION_TYPE_BONUSTIME) { request.ReservationType = "B"; request.SiteName = "BonusTime"; } else { request.ReservationType = "P"; request.SiteName = "onlinepoints"; request.Points = reservationContext.PointsRequired; } if (reservationContext.hasCreditcard) { request.Payment = new Models.ResortService.BookReservationRequest.Payment(); request.Payment.CreditCardAuthorization = reservationContext.CreditCard_VerificationNumber; request.Payment.CreditCardName = reservationContext.CreditCard_Name; request.Payment.CreditCardNumber = reservationContext.CreditCard_Number; request.Payment.CreditCardType = FormatUtils.ConvertCreditCard(reservationContext.CreditCard_Type); request.Payment.CreditCardExpirationDate = ReservationUtils.GetExpDate(reservationContext.CreditCard_ExpDateMonth, reservationContext.CreditCard_ExpDateYear); request.Payment.CreditCardTotal = Convert.ToDouble(reservationContext.BT_TotalCost); request.Payment.NonTaxTotal = Convert.ToDouble(Convert.ToDecimal(reservationContext.DailyPrice) * reservationContext.NumberOfNightChanged); } if (reservationContext.hasGuest) { request.Guests = new List <Models.ResortService.BookReservationRequest.Guest>(); var guestOld = new Models.ResortService.BookReservationRequest.Guest(); guestOld.GuestType = "Primary"; guestOld.GuestID = ""; guestOld.FirstName = reservationContext.Guest_FirstName; guestOld.LastName = reservationContext.Guest_LastName; guestOld.Relationship = reservationContext.Guest_Relationship; request.Guests.Add(guestOld); if (!string.IsNullOrEmpty(reservationContext.Guest_Email)) { guestOld.EmailAddresses = new List <Models.ResortService.BookReservationRequest.EmailAddress>(); var email = new Models.ResortService.BookReservationRequest.EmailAddress(); email.AddressType = "Home"; email.Email = reservationContext.Guest_Email; guestOld.EmailAddresses.Add(email); } else { guestOld.EmailAddresses = new List <Models.ResortService.BookReservationRequest.EmailAddress>(); var email = new Models.ResortService.BookReservationRequest.EmailAddress(); email.AddressType = "Home"; email.Email = bgContext.bxgOwner.Email; guestOld.EmailAddresses.Add(email); } if (reservationContext.Guest_AddNew != "AddNew") { if (!string.IsNullOrEmpty(reservationContext.Guest_PhoneNumber)) { guestOld.Phones = new List <Models.ResortService.BookReservationRequest.Phone>(); var phone = new Models.ResortService.BookReservationRequest.Phone(); phone.PhoneNumberType = "Home"; phone.PhoneNumber = reservationContext.Guest_PhoneNumber; guestOld.Phones.Add(phone); } if (!string.IsNullOrEmpty(reservationContext.Guest_City)) { guestOld.Addresses = new List <Models.ResortService.BookReservationRequest.Address>(); var address = new Models.ResortService.BookReservationRequest.Address(); address.AddressLine1 = " "; address.AddressLine2 = " "; address.CountryCode = " "; address.PostalCode = " "; address.AddressType = "Home"; address.City = reservationContext.Guest_City; // Here I'm assuming that no one will select state without city (they are both required fields anyway) if (!string.IsNullOrEmpty(reservationContext.Guest_State)) { address.ProvinceCode = reservationContext.Guest_State; } guestOld.Addresses.Add(address); } } else { var guest = new Models.ResortService.BookReservationRequest.Guest(); guest.GuestType = "GuestOnPrimary"; guest.FirstName = reservationContext.Guest_FirstName; guest.LastName = reservationContext.Guest_LastName; guest.Relationship = reservationContext.Guest_Relationship; guest.GuestID = ""; if (!string.IsNullOrEmpty(reservationContext.Guest_Email)) { guest.EmailAddresses = new List <Models.ResortService.BookReservationRequest.EmailAddress>(); var email = new Models.ResortService.BookReservationRequest.EmailAddress(); email.AddressType = "Home"; email.Email = reservationContext.Guest_Email; guest.EmailAddresses.Add(email); } if (!string.IsNullOrEmpty(reservationContext.Guest_City)) { guest.Addresses = new List <Models.ResortService.BookReservationRequest.Address>(); var address = new Models.ResortService.BookReservationRequest.Address(); address.AddressLine1 = " "; address.AddressLine2 = " "; address.CountryCode = " "; address.PostalCode = " "; address.AddressType = "Home"; address.City = reservationContext.Guest_City; // Here I'm assuming that no one will select state without city (they are both required fields anyway) if (!string.IsNullOrEmpty(reservationContext.Guest_State)) { address.ProvinceCode = reservationContext.Guest_State; } guest.Addresses.Add(address); } if (!string.IsNullOrEmpty(reservationContext.Guest_PhoneNumber)) { guest.Phones = new List <Models.ResortService.BookReservationRequest.Phone>(); var phone = new Models.ResortService.BookReservationRequest.Phone(); phone.PhoneNumberType = "Home"; phone.PhoneNumber = reservationContext.Guest_PhoneNumber; guest.Phones.Add(phone); } request.Guests.Add(guest); } } if (reservationContext.hasAddress) { } if (Session["AgentLoginID"] == null) { request.Agent = "OWNER"; } else { request.Agent = (string)Session["AgentLoginID"]; } ResortService resortService = new ResortService(); var reservationResponse = resortService.BookReservation(request); OwnerWebStats(request, reservationResponse); return(reservationResponse); }