private void ConfigureTrackingCodeControl()
    {
        StayCriteriaSelection objStayCriteriaSelection = (StayCriteriaSelection)Session[Constants.Sessions.StayCriteriaSelection];

        TrackingCodeInfo[] objTrackingCodeInfos = WbsUiHelper.GetTrackingCodeInfos(objStayCriteriaSelection.HotelCode);

        if (objTrackingCodeInfos.Length == 0)
            return;

        string strTrackingCodeControlPath = ConfigurationManager.AppSettings["TrackingCodeControl.ascx"];
        ucHeadTrackingCodeControl = (TrackingCodeControl)LoadControl(strTrackingCodeControlPath);
        ucBodyTrackingCodeControl = (TrackingCodeControl)LoadControl(strTrackingCodeControlPath);

        Control objHeadElement = this.Page.Master.FindControl("head_element");

        if (objHeadElement != null)
            objHeadElement.Controls.Add(ucHeadTrackingCodeControl);

        phTrackingCodeControl.Controls.Clear();
        phTrackingCodeControl.Controls.Add(ucBodyTrackingCodeControl);

        ucHeadTrackingCodeControl.Clear();
        ucBodyTrackingCodeControl.Clear();

        string strTrackingCodeItemControlPath = ConfigurationManager.AppSettings["TrackingCodeItemControl.ascx"];

        for (int i = 0; i < objTrackingCodeInfos.Length; i++)
        {
            if (objTrackingCodeInfos[i].PageSelection == TrackingPageSelection.AllPages || (objTrackingCodeInfos[i].PageSelection == TrackingPageSelection.StartPageOnly && this.IsFirstTrackingPage))
            {
                TrackingCodeItemControl ucTrackingCodeItemControl = (TrackingCodeItemControl)LoadControl(strTrackingCodeItemControlPath);

                if (objTrackingCodeInfos[i].TagLocation == TrackingTagLocation.HeadElement)
                    ucHeadTrackingCodeControl.Add(ucTrackingCodeItemControl);
                else if (objTrackingCodeInfos[i].TagLocation == TrackingTagLocation.BodyElement)
                    ucBodyTrackingCodeControl.Add(ucTrackingCodeItemControl);
                else
                    continue;

                ucTrackingCodeItemControl.Type = objTrackingCodeInfos[i].Type;
                ucTrackingCodeItemControl.TrackingCodeParameters = objTrackingCodeInfos[i].TrackingCodeParameters;
                ucTrackingCodeItemControl.HotelCode = objStayCriteriaSelection.HotelCode;
                ucTrackingCodeItemControl.PageUrl = ("/book/SelectRoom");
                ucTrackingCodeItemControl.Amount = 0;
            }

        }

        this.IsFirstTrackingPage = false;

        return;
    }
    private void ConfigureTrackingCodeControl()
    {
        StayCriteriaSelection objStayCriteriaSelection = (StayCriteriaSelection)Session[Constants.Sessions.StayCriteriaSelection];
        RoomRateSelection[] objRoomRateSelections = (RoomRateSelection[])Session["RoomRateSelections"];
        AddOnPackageSelection[] objAddOnPackageSelections = (AddOnPackageSelection[])Session["AddOnPackageSelections"];
        HotelAvailabilityRS objHotelAvailabilityRS = (HotelAvailabilityRS)Session["HotelAvailabilityRS"];
        HotelDescriptiveInfoRS objHotelDescriptiveInfoRS = (HotelDescriptiveInfoRS)Session["HotelDescriptiveInfoRS"];
        HotelBookingRS objHotelBookingRS = (HotelBookingRS)Session["HotelBookingRS"];

        TrackingCodeInfo[] objTrackingCodeInfos = WbsUiHelper.GetTrackingCodeInfos(objStayCriteriaSelection.HotelCode);

        if (objTrackingCodeInfos.Length == 0)
            return;

        HotelPricing[] objHotelPricings = HotelPricingHelper.GetHotelPricing(objStayCriteriaSelection, objRoomRateSelections, objAddOnPackageSelections, objHotelAvailabilityRS.HotelRoomAvailInfos, "");

        decimal decTotalBookingAmount = 0;
        string strCurrencyCode = "";

        for (int i = 0; i < objHotelPricings.Length; i++)
            decTotalBookingAmount += objHotelPricings[i].TotalAmount;

        if (objHotelDescriptiveInfoRS.HotelDescriptiveInfos.Length > 0)
            strCurrencyCode = objHotelDescriptiveInfoRS.HotelDescriptiveInfos[0].CurrencyCode;

        decTotalBookingAmount = decTotalBookingAmount * WbsUiHelper.GetCurrencyConversionFactor(strCurrencyCode);

        string strMasterConfirmationNumber = "";

        if (objHotelBookingRS.Segments.Length != 0)
        {
            strMasterConfirmationNumber = objHotelBookingRS.Segments[0].MasterConfirmationNumber;
        }

        string strTrackingCodeControlPath = ConfigurationManager.AppSettings["TrackingCodeControl.ascx"];
        ucHeadTrackingCodeControl = (TrackingCodeControl)LoadControl(strTrackingCodeControlPath);
        ucBodyTrackingCodeControl = (TrackingCodeControl)LoadControl(strTrackingCodeControlPath);

        Control objHeadElement = this.Page.Master.FindControl("head_element");

        if (objHeadElement != null)
            objHeadElement.Controls.Add(ucHeadTrackingCodeControl);

        phTrackingCodeControl.Controls.Clear();
        phTrackingCodeControl.Controls.Add(ucBodyTrackingCodeControl);

        ucHeadTrackingCodeControl.Clear();
        ucBodyTrackingCodeControl.Clear();

        string strTrackingCodeItemControlPath = ConfigurationManager.AppSettings["TrackingCodeItemControl.ascx"];

        for (int i = 0; i < objTrackingCodeInfos.Length; i++)
        {
            if (objTrackingCodeInfos[i].PageSelection == TrackingPageSelection.AllPages || (objTrackingCodeInfos[i].PageSelection == TrackingPageSelection.StartPageOnly && this.IsFirstTrackingPage) || objTrackingCodeInfos[i].PageSelection == TrackingPageSelection.ConfirmPageOnly)
            {
                TrackingCodeItemControl ucTrackingCodeItemControl = (TrackingCodeItemControl)LoadControl(strTrackingCodeItemControlPath);

                if (objTrackingCodeInfos[i].TagLocation == TrackingTagLocation.HeadElement)
                    ucHeadTrackingCodeControl.Add(ucTrackingCodeItemControl);
                else if (objTrackingCodeInfos[i].TagLocation == TrackingTagLocation.BodyElement)
                    ucBodyTrackingCodeControl.Add(ucTrackingCodeItemControl);
                else
                    continue;

                ucTrackingCodeItemControl.Type = objTrackingCodeInfos[i].Type;
                ucTrackingCodeItemControl.TrackingCodeParameters = objTrackingCodeInfos[i].TrackingCodeParameters;
                ucTrackingCodeItemControl.HotelCode = objStayCriteriaSelection.HotelCode;
                ucTrackingCodeItemControl.PageUrl = ("/book/Confirmation");
                ucTrackingCodeItemControl.ConfirmNumber = strMasterConfirmationNumber;
                ucTrackingCodeItemControl.Amount = decTotalBookingAmount;
            }

        }

        this.IsFirstTrackingPage = false;

        return;
    }
    private void ConfigureTrackingCodeControl()
    {
        phTrackingCodeControl.Controls.Clear();

          if (
          (Step.Equals(BookingSteps.SelectHotel) && ucStayCriteriaControl.StayCriteriaSelectorMode == SelectionMode.Edit)
          || (Step.Equals(BookingSteps.SelectStayDate) && ucAvailCalSelectorControl.Mode == SelectionMode.Edit)
          || (Step.Equals(BookingSteps.SelectRoomQuantity) && ucRoomQuantitySelectorControl.Mode == SelectionMode.Edit)
          || (Step.Equals(BookingSteps.SelectRoomDetail) && !bAddonToggled && (CurrentRoomDetailStep.Equals(RoomDetailSelectionStep.SelectRoomType) || CurrentRoomDetailStep.Equals(RoomDetailSelectionStep.SelectExtra)))
          || Step == BookingSteps.GuestInfo
         || Step == BookingSteps.Confirmed)
          {

         var objStayCriteriaSelection = (StayCriteriaSelection)Session[Constants.Sessions.StayCriteriaSelection];

         TrackingCodeInfo[] objTrackingCodeInfos = WbsUiHelper.GetTrackingCodeInfos(objStayCriteriaSelection.HotelCode);

         if (objTrackingCodeInfos.Length == 0)
            return;

         ucBodyTrackingCodeControl = (TrackingCodeControl)LoadControl(strTrackingCodeControlPath);
         ucBodyTrackingCodeControl.ID = "ucBodyTrackingCodeControl";
         phTrackingCodeControl.Controls.Add(ucBodyTrackingCodeControl);

         string strTrackingCodeItemControlPath = ConfigurationManager.AppSettings["TrackingCodeItemControl.ascx"];

         for (int i = 0; i < objTrackingCodeInfos.Length; i++)
         {
            if (objTrackingCodeInfos[i].PageSelection == TrackingPageSelection.AllPages
                || (objTrackingCodeInfos[i].PageSelection == TrackingPageSelection.StartPageOnly && this.IsFirstTrackingPage)
                || (objTrackingCodeInfos[i].PageSelection == TrackingPageSelection.ConfirmPageOnly && Step.Equals(BookingSteps.Confirmed)))
            {
               var ucTrackingCodeItemControl = (TrackingCodeItemControl)LoadControl(strTrackingCodeItemControlPath);

               ucBodyTrackingCodeControl.Add(ucTrackingCodeItemControl);

               ucTrackingCodeItemControl.Type = objTrackingCodeInfos[i].Type;
               ucTrackingCodeItemControl.TrackingCodeParameters = objTrackingCodeInfos[i].TrackingCodeParameters;
               ucTrackingCodeItemControl.HotelCode = objStayCriteriaSelection.HotelCode;
               ucTrackingCodeItemControl.PageUrl = TrackingCodeByStep(Step, CurrentRoomDetailStep);

               if (Step == BookingSteps.Confirmed)
               {
                  string strMasterConfirmationNumber = "";
                  if (HotelBookingRS.Segments != null && HotelBookingRS.Segments.Length != 0)
                  {
                     strMasterConfirmationNumber = HotelBookingRS.Segments[0].MasterConfirmationNumber;
                  }
                  ucTrackingCodeItemControl.ConfirmNumber = strMasterConfirmationNumber;

                  var objHotelPricings = HotelPricingHelper.GetHotelPricing(objStayCriteriaSelection, RoomRateSelections, AddOnPackageSelections,
                                                                                       HotelAvailabilityRS.HotelRoomAvailInfos, "");
                  string strCurrencyCode = "";
                  decimal decTotalBookingAmount = objHotelPricings.Sum(t => t.TotalAmount);
                  if (HotelDescriptiveInfoRS.HotelDescriptiveInfos.Length > 0)
                     strCurrencyCode = HotelDescriptiveInfoRS.HotelDescriptiveInfos[0].CurrencyCode;
                  decTotalBookingAmount = decTotalBookingAmount * WbsUiHelper.GetCurrencyConversionFactor(strCurrencyCode);
                  ucTrackingCodeItemControl.Amount = decTotalBookingAmount;

                  ucTrackingCodeItemControl.StayNight = StayCriteriaSelection.DepartureDate.Subtract(StayCriteriaSelection.ArrivalDate).Days;
               }
               else
                  ucTrackingCodeItemControl.Amount = 0;
            }

         }

         this.IsFirstTrackingPage = false;
          }
          return;
    }
    private void ConfigureTrackingCodeControl()
    {
        StayCriteriaSelection objStayCriteriaSelection = (StayCriteriaSelection)Session[Constants.Sessions.StayCriteriaSelection];

          TrackingCodeInfo[] objTrackingCodeInfos = WbsUiHelper.GetTrackingCodeInfos(objStayCriteriaSelection.HotelCode);

          if (objTrackingCodeInfos.Length == 0)
         return;

          string strTrackingCodeControlPath = ConfigurationManager.AppSettings["TrackingCodeControl.ascx"];
          ucBodyTrackingCodeControl = (TrackingCodeControl)LoadControl(strTrackingCodeControlPath);

          phTrackingCodeControl.Controls.Clear();
          phTrackingCodeControl.Controls.Add(ucBodyTrackingCodeControl);

          ucBodyTrackingCodeControl.Clear();

          string strTrackingCodeItemControlPath = ConfigurationManager.AppSettings["TrackingCodeItemControl.ascx"];

          for (int i = 0; i < objTrackingCodeInfos.Length; i++)
          {
         if (objTrackingCodeInfos[i].PageSelection == TrackingPageSelection.AllPages || (objTrackingCodeInfos[i].PageSelection == TrackingPageSelection.StartPageOnly && this.IsFirstTrackingPage))
         {
            TrackingCodeItemControl ucTrackingCodeItemControl = (TrackingCodeItemControl)LoadControl(strTrackingCodeItemControlPath);

            ucBodyTrackingCodeControl.Add(ucTrackingCodeItemControl);

            ucTrackingCodeItemControl.Type = objTrackingCodeInfos[i].Type;
            ucTrackingCodeItemControl.TrackingCodeParameters = objTrackingCodeInfos[i].TrackingCodeParameters;
            ucTrackingCodeItemControl.HotelCode = objStayCriteriaSelection.HotelCode;
            ucTrackingCodeItemControl.PageUrl = "/" + WbsUiHelper.SelectedUICulture + ("/cancel/SelectCancelRoom");
            ucTrackingCodeItemControl.Amount = 0;
         }

          }

          this.IsFirstTrackingPage = false;

          return;
    }