public void InitAddOnPackageSelections() { Session["AddOnPackageSelections"] = new AddOnPackageSelection[0]; return; }
private AddOnPackageSelection[] GetAddOnPackageSelections(AddOnPackageSelection[] objAddOnPackageSelections, string strRoomRefID) { List<AddOnPackageSelection> lAddOnPackageSelections = new List<AddOnPackageSelection>(); for (int i = 0; i < objAddOnPackageSelections.Length; i++) { if (objAddOnPackageSelections[i].RoomRefID == strRoomRefID) lAddOnPackageSelections.Add(objAddOnPackageSelections[i]); } return lAddOnPackageSelections.ToArray(); }
private void NextStep() { if (Step == BookingSteps.SelectHotel) { Step = BookingSteps.SelectStayDate; StayCriteriaSelection.PromotionCode = string.Empty; } else if (Step == BookingSteps.SelectStayDate) Step = BookingSteps.SelectRoomQuantity; else if (Step == BookingSteps.SelectRoomQuantity) { Step = BookingSteps.SelectRoomDetail; CurrentRoomDetailStep = RoomDetailSelectionStep.SelectAdultQuantity; CurrentRoomRefID = RoomRateSelections[0].RoomRefID; AddOnPackageSelections = new AddOnPackageSelection[0]; } else if (Step == BookingSteps.SelectRoomDetail) Step = BookingSteps.BookingSummary; else if (Step == BookingSteps.BookingSummary) Step = BookingSteps.GuestInfo; else if (Step == BookingSteps.GuestInfo) Step = BookingSteps.ProcessPayment; else if (Step == BookingSteps.ProcessPayment) Step = BookingSteps.Confirmed; else if (Step == BookingSteps.Confirmed) Step = BookingSteps.ViewConfirmation; else if (Step == BookingSteps.ViewConfirmation) Step = BookingSteps.SelectHotel; LoadControls(); }
private void GetAddOnPackageSelection() { List<AddOnPackageSelection> lAddOnPackageSelections = new List<AddOnPackageSelection>(); for (int i = 0; i < lAddOnPackageSelectorItemControls.Count; i++) { if (lAddOnPackageSelectorItemControls[i].Selected) { AddOnPackageSelection objAddOnPackageSelection = new AddOnPackageSelection(); lAddOnPackageSelections.Add(objAddOnPackageSelection); objAddOnPackageSelection.RoomRefID = lAddOnPackageSelectorItemControls[i].RoomRefID; objAddOnPackageSelection.PackageCode = lAddOnPackageSelectorItemControls[i].PackageDescription.Code; objAddOnPackageSelection.Quantity = lAddOnPackageSelectorItemControls[i].PackageQuantity; } _AddOnPackageSelections = lAddOnPackageSelections.ToArray(); } return; }
public static HotelPricing[] GetHotelPricing(StayCriteriaSelection objStayCriteriaSelection, RoomRateSelection[] objRoomRateSelections, AddOnPackageSelection[] objAllAddOnPackageSelections, HotelRoomAvailInfo[] objHotelRoomAvailInfos, string strCurrenyCode) { HotelPricing[] objHotelPricing = new HotelPricing[objStayCriteriaSelection.RoomOccupantSelections.Length]; int intNumberStayNights = ((TimeSpan)objStayCriteriaSelection.DepartureDate.Subtract(objStayCriteriaSelection.ArrivalDate)).Days; for (int i = 0; i < objStayCriteriaSelection.RoomOccupantSelections.Length; i++) { RoomOccupantSelection objRoomOccupantSelection = objStayCriteriaSelection.RoomOccupantSelections[i]; RoomRateSelection objRoomRateSelection = HotelPricingHelper.GetRoomRateSelection(objRoomOccupantSelection, objRoomRateSelections); HotelAvailRatePlan objHotelAvailRatePlan = HotelPricingHelper.GetHotelAvailRatePlan(objRoomRateSelection, objHotelRoomAvailInfos); HotelAvailRoomRate objHotelAvailRoomRate = HotelPricingHelper.GetHotelAvailRoomRate(objRoomRateSelection, objHotelRoomAvailInfos); AddOnPackageSelection[] objAddOnPackageSelections = HotelPricingHelper.GetAddOnPackageSelections(objRoomRateSelection, objAllAddOnPackageSelections); decimal decTotalRoomAmount = 0; decimal decTotalRoomTaxes = 0; // Exclusive taxes only decimal decTotalRoomFees = 0; // Exclusive fees only for (int j = 0; j < objHotelAvailRoomRate.Rates.Length; j++) { decTotalRoomAmount += objRoomOccupantSelection.NumberRooms * objHotelAvailRoomRate.Rates[j].Amount * objHotelAvailRoomRate.Rates[j].NumNights; for (int k = 0; k < objHotelAvailRoomRate.Rates[j].PerNightTaxesFees.Length; k++) { if (objHotelAvailRoomRate.Rates[j].PerNightTaxesFees[k].CategoryType == TaxFeeCategoryType.Tax && objHotelAvailRoomRate.Rates[j].PerNightTaxesFees[k].Type == TaxFeeType.Exclusive) { decTotalRoomTaxes += objHotelAvailRoomRate.Rates[j].PerNightTaxesFees[k].Amount; } else if (objHotelAvailRoomRate.Rates[j].PerNightTaxesFees[k].CategoryType == TaxFeeCategoryType.Fee && objHotelAvailRoomRate.Rates[j].PerNightTaxesFees[k].Type == TaxFeeType.Exclusive) { decTotalRoomFees += objHotelAvailRoomRate.Rates[j].PerNightTaxesFees[k].Amount; } } } decTotalRoomAmount += decTotalRoomTaxes + decTotalRoomFees; decimal decTotalPackageAmount = 0; decimal decTotalPackageDeposit = 0; decimal decTotalPackageTaxes = 0; // Exclusive taxes only decimal decTotalPackageFees = 0; // Exclusive fees only for (int j = 0; j < objAddOnPackageSelections.Length; j++) { HotelAvailPackage objHotelAvailPackage = HotelPricingHelper.GetHotelAvailPackage(objAddOnPackageSelections[j], objRoomRateSelection, objHotelAvailRatePlan); if (objHotelAvailPackage.PriceType == PackagePriceType.PerStayPerNight || objHotelAvailPackage.PriceType == PackagePriceType.PerPersonPerNight) { decTotalPackageAmount += objAddOnPackageSelections[j].Quantity * objHotelAvailPackage.Price * intNumberStayNights; decTotalPackageDeposit += objAddOnPackageSelections[j].Quantity * objHotelAvailPackage.Deposit * intNumberStayNights; } else { decTotalPackageAmount += objAddOnPackageSelections[j].Quantity * objHotelAvailPackage.Price; decTotalPackageDeposit += objAddOnPackageSelections[j].Quantity * objHotelAvailPackage.Deposit; } } decimal decDepositTaxFactor = 0; if (decTotalPackageAmount != 0) decDepositTaxFactor = decTotalPackageDeposit / decTotalPackageAmount; decTotalPackageAmount += decTotalPackageTaxes + decTotalPackageFees; decTotalPackageDeposit += decimal.Round(((decTotalPackageTaxes + decTotalPackageFees) * decDepositTaxFactor), 2); decimal decTotalAdditionalTaxes = 0; // Exclusive taxes only decimal decTotalAdditionalFees = 0; // Exclusive fees only for (int j = 0; j < objHotelAvailRoomRate.PerStayTaxesFees.Length; j++) { if (objHotelAvailRoomRate.PerStayTaxesFees[j].CategoryType == TaxFeeCategoryType.Tax && objHotelAvailRoomRate.PerStayTaxesFees[j].Type == TaxFeeType.Exclusive) { decTotalAdditionalTaxes += objHotelAvailRoomRate.PerStayTaxesFees[j].Amount; } else if (objHotelAvailRoomRate.PerStayTaxesFees[j].CategoryType == TaxFeeCategoryType.Fee && objHotelAvailRoomRate.PerStayTaxesFees[j].Type == TaxFeeType.Exclusive) { decTotalAdditionalFees += objHotelAvailRoomRate.PerStayTaxesFees[j].Amount; } } objHotelPricing[i] = new HotelPricing(); objHotelPricing[i].SegmentRefID = objRoomOccupantSelection.RoomRefID; objHotelPricing[i].CurrencyCode = strCurrenyCode; objHotelPricing[i].TotalRoomTaxes = decTotalRoomTaxes; objHotelPricing[i].TotalRoomFees = decTotalRoomFees; objHotelPricing[i].TotalRoomAmount = decTotalRoomAmount; objHotelPricing[i].TotalPackageTaxes = decTotalPackageTaxes; objHotelPricing[i].TotalPackageFees = decTotalPackageFees; objHotelPricing[i].TotalPackageAmount = decTotalPackageAmount; objHotelPricing[i].TotalAdditionalTaxes = decTotalAdditionalTaxes; objHotelPricing[i].TotalAdditionalFees = decTotalAdditionalFees; if (ConfigurationManager.AppSettings["HotelPricing.IncludeAddOnPackageAmountsInTotal"] == "1") objHotelPricing[i].TotalAmount = decTotalRoomAmount + decTotalPackageAmount + decTotalAdditionalTaxes + decTotalAdditionalFees; else objHotelPricing[i].TotalAmount = decTotalRoomAmount + decTotalAdditionalTaxes + decTotalAdditionalFees; //objHotelPricing[i].TotalDeposit = HotelPricingHelper.GetDepositAmount(objHotelAvailRatePlan, decTotalRoomAmount + decTotalPackageDeposit + decTotalAdditionalTaxes + decTotalAdditionalFees, intNumberStayNights); objHotelPricing[i].TotalDeposit = HotelPricingHelper.GetDepositAmount(objHotelAvailRatePlan, objHotelPricing[i].TotalAmount, intNumberStayNights); } return objHotelPricing; }
private static HotelAvailPackage GetHotelAvailPackage(AddOnPackageSelection objAddOnPackageSelection, RoomRateSelection objRoomRateSelection, HotelAvailRatePlan objHotelAvailRatePlan) { for (int i = 0; i < objHotelAvailRatePlan.Packages.Length; i++) { if (objHotelAvailRatePlan.Packages[i].Code == objAddOnPackageSelection.PackageCode) { if (objHotelAvailRatePlan.Packages[i].RoomTypeCode == "" || objHotelAvailRatePlan.Packages[i].RoomTypeCode == objRoomRateSelection.RoomTypeCode) { return objHotelAvailRatePlan.Packages[i]; } } } return null; }
private static AddOnPackageSelection[] GetAddOnPackageSelections(RoomRateSelection objRoomRateSelection, AddOnPackageSelection[] objAddOnPackageSelections) { List<AddOnPackageSelection> lAddOnPackageSelections = new List<AddOnPackageSelection>(); for (int i = 0; i < objAddOnPackageSelections.Length; i++) { if (objAddOnPackageSelections[i].RoomRefID == objRoomRateSelection.RoomRefID) lAddOnPackageSelections.Add(objAddOnPackageSelections[i]); } return lAddOnPackageSelections.ToArray(); }