示例#1
0
        private HACondition GetSearchConditon(string city, string checkin, string checkout, string guestcount, int rooms, int adults, string adultsbyroom, int children, string childbyroom, string childrenages, string currencycode)
        {
            try
            {
                HACondition Hac = new HACondition();
                if (city != "")
                {
                    if (city.IndexOf('-') > 0)
                    {
                        Hac.City     = city.Split('-')[0];
                        Hac.CityType = "CC";
                    }
                    else
                    {
                        DataTable dtll      = HotelDBLayer.GetLatLong(city);
                        string[]  cityparts = city.Split(',');
                        string    CityP     = cityparts[0];
                        //string State = cityparts[1];
                        string Country = cityparts[1];

                        Hac.CityName  = CityP;
                        Hac.fullCity  = city;
                        Hac.Latitude  = dtll.Rows[0]["Latitude"].ToString();
                        Hac.Longitude = dtll.Rows[0]["Longitude"].ToString();
                        if (dtll.Rows[0]["CityCode"] == null || dtll.Rows[0]["CityCode"].ToString().Trim() == "" && CityP == "" || CityP == null)
                        {
                            Hac.CityType = "LL";
                        }
                        else
                        {
                            Hac.CityType = "CN";
                        }
                    }
                }
                Hac.fullCity   = city.ToString();
                Hac.GuestCount = (adults + children).ToString();
                if (!string.IsNullOrEmpty(checkin))
                {
                    Hac.CheckIn = Convert.ToDateTime(checkin).ToString("yyyy-MM-dd");
                }
                if (!string.IsNullOrEmpty(checkout))
                {
                    Hac.CheckOut = Convert.ToDateTime(checkout).ToString("yyyy-MM-dd");
                }
                Hac.Rooms          = rooms;
                Hac.Adults         = adults;
                Hac.Adultsbyroom   = adultsbyroom;
                Hac.Children       = children;
                Hac.Childrenbyroom = childbyroom;
                Hac.SortBy         = "low_price";
                Hac.CurrencyCode   = currencycode;
                Hac.childrenage    = childrenages;

                return(Hac);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public string Get(string city, string checkind, string checkoutd, string guestscount, string selroom, string seladults, string adultbyroom, string selchilds, string childrenbyroom, string childages, string curcode, string b2c_idn)
        {
            string ipaddress = "";
            string searchid  = "";
            string cust_idn  = string.Empty;

            if (Request.Properties.ContainsKey("MS_HttpContext"))
            {
                var ctx = Request.Properties["MS_HttpContext"] as HttpContextWrapper;
                if (ctx != null)
                {
                    var ip = ctx.Request.UserHostAddress;
                    //do stuff with IP
                }
            }
            searchid = HotelDBLayer.SaveSearch(city, checkind, checkoutd, Convert.ToInt16(selroom), Convert.ToInt16(seladults), adultbyroom, Convert.ToInt16(selchilds), childrenbyroom, childages, ipaddress, curcode, b2c_idn, cust_idn);
            HACondition   Hac     = Utilities.GetSearchConditon(city, checkind, checkoutd, guestscount.ToString(), Convert.ToInt32(selroom), Convert.ToInt32(seladults), adultbyroom, Convert.ToInt32(selchilds), childrenbyroom, childages, curcode);
            HotelSearchAj hs      = new HotelSearchAj(Hac, searchid, b2c_idn);
            DataTable     dtHList = hs.dtBPIadd;
            DataSet       ds      = new DataSet();

            ds.Tables.Add(dtHList);
            string HLFPath = Path.Combine(HttpRuntime.AppDomainAppPath, "HotelXML/" + searchid + "_" + curcode + "6140_USD_hotelsAvail-RS.xml");

            ds.WriteXml(HLFPath);
            string rvalue = searchid;

            return(rvalue);
        }
 private HACondition GetSearchConditon(string city, string checkin, string checkout, string guestcount, int rooms, int adults, int children)
 {
     try
     {
         HACondition Hac = new HACondition();
         if (city != "")
         {
             Hac.City = city.Split('-')[0];
         }
         Hac.GuestCount = (adults + children).ToString();
         if (checkin != "")
         {
             Hac.CheckIn = Convert.ToDateTime(checkin).ToString("MM-dd");
         }
         if (checkout != "")
         {
             Hac.CheckOut = Convert.ToDateTime(checkout).ToString("MM-dd");
         }
         Hac.Rooms    = rooms;
         Hac.Adults   = adults;
         Hac.Children = children;
         Hac.SortBy   = "low_price";
         return(Hac);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
    public static HACondition GetSearchConditon(string city, string checkin, string checkout, string guestcount, int rooms, int adults, string adultbyroom, int children, string childrenbyroom, string childages, string currencycode)
    {
        try
        {
            HACondition Hac = new HACondition();
            if (city != "")
            {
                if (city.IndexOf('-') > 0)
                {
                    Hac.City     = city.Split('-')[0];
                    Hac.CityType = "CC";
                }
                else
                {
                    DataTable dtll      = HotelDBLayer.GetLatLong(city);
                    string[]  cityparts = city.Split(',');
                    string    CityP     = cityparts[0];
                    //string State = cityparts[1];
                    string Country = cityparts[1];

                    Hac.CityName = CityP;
                    Hac.fullCity = city;
                    // Hac.City = city.Split(',')[0];
                    Hac.CityType = "CN";
                }
            }
            Hac.fullCity   = city.ToString();
            Hac.GuestCount = (adults + children).ToString();
            if (checkin != "")
            {
                Hac.CheckIn = Convert.ToDateTime(checkin).ToString("yyyy-MM-dd");
            }
            if (checkout != "")
            {
                Hac.CheckOut = Convert.ToDateTime(checkout).ToString("yyyy-MM-dd");
            }
            Hac.Rooms          = rooms;
            Hac.Adults         = adults;
            Hac.Adultsbyroom   = adultbyroom;
            Hac.Children       = children;
            Hac.Childrenbyroom = childrenbyroom;
            Hac.childrenage    = childages;
            Hac.SortBy         = "low_price";
            Hac.CurrencyCode   = currencycode;
            return(Hac);
        }
        catch (Exception ex)
        {
            throw ex;
        }
    }
示例#5
0
    public HotelSearch(HACondition hac, string searchid)
    {
        FillFaiconDictionary();
        dtChainCode = manage_data.GetDatable_SP("p_CodeHotelChain", manage_data.flip_con);
        //// to get data from sable api starts
        string sc     = GetRqcond(hac);
        string result = "";

        result = GetHotels(sc, searchid);

        XMLResult = result;
        GenerateHS(XMLResult, searchid);
        // //// to get the data from xml file ends
    }
示例#6
0
        public string Get(string searchid, string curcode, string b2c_idn)
        {
            string rvalue = "N";

            try
            {
                string checkind          = "";
                string checkoutd         = "";
                string selroom           = "";
                string seladults         = "";
                string selchildren       = "";
                string seladultsbyroom   = "";
                string selchildrenbyroom = "";

                string city         = "";
                int    guestcount   = 1;
                string childrenages = "";

                DataTable dssearch = HotelDBLayer.GetSearch(searchid);
                city            = dssearch.Rows[0]["Destination"].ToString();
                checkind        = Convert.ToDateTime(dssearch.Rows[0]["CheckInDt"]).ToString("yyyy-MM-dd");
                checkoutd       = Convert.ToDateTime(dssearch.Rows[0]["CheckOutDt"]).ToString("yyyy-MM-dd");
                selroom         = dssearch.Rows[0]["Rooms"].ToString();
                seladults       = dssearch.Rows[0]["Adults"].ToString();
                seladultsbyroom = dssearch.Rows[0]["HB_AdultsByRoom"].ToString();

                selchildren       = dssearch.Rows[0]["Children"].ToString();
                selchildrenbyroom = dssearch.Rows[0]["HB_ChildrenByRoom"].ToString();
                guestcount        = Convert.ToInt16(dssearch.Rows[0]["Adults"].ToString()) + Convert.ToInt16(dssearch.Rows[0]["Children"].ToString());
                childrenages      = dssearch.Rows[0]["HB_ChildAge"].ToString();
                HACondition   Hac     = GetSearchConditon(city, checkind, checkoutd, guestcount.ToString(), Convert.ToInt32(selroom), Convert.ToInt32(seladults), seladultsbyroom, Convert.ToInt32(selchildren), selchildrenbyroom, childrenages, curcode.Trim());
                HotelSearchAj hs      = new HotelSearchAj(Hac, searchid, b2c_idn);
                DataTable     dtHList = hs.dtBPIadd;
                DataSet       ds      = new DataSet();
                ds.Tables.Add(dtHList);
                // string HLFPath = Path.Combine(HttpRuntime.AppDomainAppPath, "HotelAvail/" + searchid + "_" + curcode + "_HotelList.xml");//yogi
                //string HLFPath = Path.Combine(HttpRuntime.AppDomainAppPath, "HotelXML/" + searchid + "_" + curcode + "_hotelsAvail-RS");
                //ds.WriteXml(HLFPath);


                rvalue = "Y";
            }
            catch (Exception ex)
            {
                rvalue = "N";
            }
            return(rvalue);
        }
        // GET api/<controller>
        public HotelSearch  Get(string searchid, string city, string checkind, string checkoutd, string guestscount, string selroom, string selaudults, string selchilds)
        {
            HACondition Hac = GetSearchConditon(city, checkind, checkoutd, guestscount, Convert.ToInt32(selroom), Convert.ToInt32(selaudults), Convert.ToInt32(selchilds));
            HotelSearch hs  = new HotelSearch(Hac, searchid);
            //string filePathRQ = Path.Combine(HttpRuntime.AppDomainAppPath, "HotelAvail/" + searchid + "_Context.xml");
            //File.WriteAllText(filePathRQ, hs.ContextResult);
            //string filePathHA = Path.Combine(HttpRuntime.AppDomainAppPath, "HotelAvail/" + searchid + "_HotelAvail.xml");
            //File.WriteAllText(filePathHA, hs.XMLResult);
            DataTable dtHList = hs.dtBPIadd;
            DataSet   ds      = new DataSet();

            ds.Tables.Add(dtHList);
            string HLFPath = Path.Combine(HttpRuntime.AppDomainAppPath, "HotelAvail/" + searchid + "_HotelList.xml");

            ds.WriteXml(HLFPath);
            return(hs);
        }
        private HACondition GetSearchConditon(string city, string checkin, string checkout, string guestcount, int rooms, int adults, int children, string currencycode)
        {
            try
            {
                HACondition Hac = new HACondition();
                if (city != "")
                {
                    if (city.IndexOf('-') > 0)
                    {
                        Hac.City     = city.Split('-')[0];
                        Hac.CityType = "CC";
                    }
                    else
                    {
                        Hac.City     = city.Split(',')[0];
                        Hac.CityType = "CN";
                    }
                }

                Hac.fullCity   = city;
                Hac.GuestCount = (adults + children).ToString();
                if (checkin != "")
                {
                    Hac.CheckIn = Convert.ToDateTime(checkin).ToString("yyyy-MM-dd");
                }
                if (checkout != "")
                {
                    Hac.CheckOut = Convert.ToDateTime(checkout).ToString("yyyy-MM-dd");
                }
                Hac.Rooms        = rooms;
                Hac.Adults       = adults;
                Hac.Children     = children;
                Hac.SortBy       = "low_price";
                Hac.CurrencyCode = currencycode;
                return(Hac);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public string Get(string searchid, string city, string checkind, string checkoutd, string guestscount, string selroom, string selaudults, string selchilds, string sortby, string pageno, string amenities, string stars, string hotelname, string curcode, string b2c_idn)
        {
            AvailabilityRS objAvailabilityRS = new AvailabilityRS();

            vcity = city;

            vpageno = Convert.ToInt16(pageno);
            //  string HLFPath = Path.Combine(HttpRuntime.AppDomainAppPath, "HotelAvail/" + searchid + "_" + curcode + "_HotelList.xml");
            string HLFPath = Path.Combine(HttpRuntime.AppDomainAppPath, "HotelXML/" + searchid + "_" + curcode + "_hotelsAvail-RS.xml");

            if (File.Exists(HLFPath))
            {
                XmlDataDocument xmldoc = new XmlDataDocument();
                FileStream      fs     = new FileStream(HLFPath, FileMode.Open, FileAccess.Read);
                xmldoc.Load(fs);
                fs.Close();
                XmlNode       xnod         = xmldoc.DocumentElement;
                XmlSerializer deserializer = new XmlSerializer(typeof(AvailabilityRS));
                StreamReader  reader       = new StreamReader(HLFPath);
                objAvailabilityRS = (AvailabilityRS)deserializer.Deserialize(reader);

                //HotelListGenerate.CreateTables(dtBPIadd);
                //HotelListGenerate.FillHStable(xnod, dtBPIadd);//yogi
            }
            else
            {
                HACondition   Hac = GetSearchConditon(city, checkind, checkoutd, guestscount, Convert.ToInt32(selroom), Convert.ToInt32(selaudults), Convert.ToInt32(selchilds), curcode);
                HotelSearchAj hs  = new HotelSearchAj(Hac, searchid, b2c_idn);
                dtBPIadd = hs.dtBPIadd;
                DataSet ds = new DataSet();
                ds.Tables.Add(dtBPIadd);
                ds.WriteXml(HLFPath);
            }

            string         pricerangecond = HotelListGenerate.GetPricrangecondzero();
            AvailabilityRS dtPricingzero  = HotelListGenerate.FilterTable(objAvailabilityRS, pricerangecond);

            objAvailabilityRS.Hotels.Hotel = objAvailabilityRS.Hotels.Hotel.OrderBy(k => Convert.ToDouble(k.MinRate)).ToList();
            int totalhotels = 0;

            if (objAvailabilityRS.Hotels.Hotel.Count() >= 350)
            {
                totalhotels = 350;//objAvailabilityRS.Hotels.Hotel.Count();
            }
            else
            {
                totalhotels = objAvailabilityRS.Hotels.Hotel.Count();
            }
            //int totalhotels = dtPricingzero.Rows.Count;

            string rvalue = "";

            if (totalhotels <= 0)
            {
                rvalue = "N";
            }
            else
            {
                vtotpages = Convert.ToInt16(Math.Ceiling(Convert.ToDecimal(totalhotels) / 20));



                AvailabilityRS dtFilterHotels = HotelListGenerate.GetFilteredData(objAvailabilityRS, hotelname, "", sortby, stars, amenities);
                //AvailabilityRS dtSortedHotels = HotelListGenerate.GetSortedData(dtFilterHotels, sortby);
                rvalue = Generatehtml(dtFilterHotels, dtPricingzero, searchid, checkind, checkoutd, guestscount, hotelname, sortby, curcode, b2c_idn, selaudults, selchilds);
            }
            return(rvalue);
        }
示例#10
0
    private static string GetRqcond(HACondition hac)
    {
        string city        = hac.City;
        string guestcount  = hac.GuestCount;
        string checkin     = hac.CheckIn;
        string checkout    = hac.CheckOut;
        string rooms       = hac.Rooms.ToString();
        string Awardrating = hac.AwardRating;
        string HotelName   = hac.HotelName;
        string chaincode   = hac.ChainCode;
        string RateMax     = hac.RateMax;
        string RateMin     = hac.RateMin;
        string rq          = "";

        #region makerq
        string CustomerCriteria    = "";
        string GuestCountCriteria  = "";
        string HotelSearchCriteria = "";
        //string AddressCriteria = "";
        string AwardCriteria        = "";
        string HotelAmenityCriteria = "";
        string TimeSpanCriteria     = "";
        // string HotelFeatureCriteria = "";
        string HotelRefCriteria      = "";
        string PropertyTypeCriteria  = "";
        string RoomAmenityCriteria   = "";
        string RatePlanCandiCriteria = "";
        string RateRangeCriteria     = "";

        if (Awardrating == "5")
        {
            AwardCriteria += "<Award Provider='NTM' Rating='5'/>";
        }
        if (Awardrating == "4")
        {
            AwardCriteria += "<Award Provider='NTM' Rating='4'/>";
        }
        if (Awardrating == "3")
        {
            AwardCriteria += "<Award Provider='NTM' Rating='3'/>";
        }
        if (Awardrating == "2")
        {
            AwardCriteria += "<Award Provider='NTM' Rating='2'/>";
        }
        if (Awardrating == "1")
        {
            AwardCriteria += "<Award Provider='NTM' Rating='1'/>";
        }

        if (hac.PropertyTypes != "")
        {
            string   ptstrim = hac.PropertyTypes.Trim(',');
            string[] pts     = ptstrim.Split(',');
            foreach (string pt in pts)
            {
                PropertyTypeCriteria += "<PropertyType>" + pt + "</PropertyType>";
            }
        }

        if (guestcount != "")
        {
            GuestCountCriteria = "<GuestCounts Count='" + guestcount + "' />";
        }
        //if (corporateID != "")
        //{
        //    Customercriteria += "</Customer><Corporate><ID> " + corporateID + "</ID></Corporate></Customer>";
        //}
        if (checkin != "")
        {
            TimeSpanCriteria = "<TimeSpan End='" + checkout + "' Start='" + checkin + "' />";
        }
        if (city != "")
        {
            HotelRefCriteria += " HotelCityCode='" + city + "'";
        }
        if (HotelName != "")
        {
            HotelRefCriteria += " HotelName ='" + HotelName.ToUpper() + "'";
        }

        if (HotelRefCriteria != "")
        {
            HotelRefCriteria = "<HotelRef" + HotelRefCriteria + "/>";
        }
        string chaincriteria = "";
        if (hac.ChainCode != "")
        {
            string   ctstrim = hac.ChainCode.Trim(',');
            string[] pts     = ctstrim.Split(',');
            foreach (string pt in pts)
            {
                chaincriteria += "<HotelRef ChainCode='" + pt + "'/>";
            }
        }
        if (hac.HotelAmenities != "")
        {
            string   ctstrim = hac.HotelAmenities.Trim(',');
            string[] pts     = ctstrim.Split(',');
            foreach (string pt in pts)
            {
                HotelAmenityCriteria += "<HotelAmenity>" + pt + "</HotelAmenity>";
            }
        }
        if (hac.RoomAmenities != "")
        {
            string   ctstrim = hac.RoomAmenities.Trim(',');
            string[] pts     = ctstrim.Split(',');
            foreach (string pt in pts)
            {
                RoomAmenityCriteria += "<RoomAmenity>" + pt + "</RoomAmenity>";
            }
        }
        //// HotelSearchCriteria = "<HotelSearchCriteria NumProperties='200'><Criterion>" + AwardCriteria + HotelAmenityCriteria + HotelRefCriteria + chaincriteria + PropertyTypeCriteria + RoomAmenityCriteria;
        HotelSearchCriteria  = "<HotelSearchCriteria NumProperties='200'><Criterion>" + HotelRefCriteria;
        HotelSearchCriteria += "</Criterion></HotelSearchCriteria>";

        if (RateMax != "" || RateMin != "")
        {
            RateRangeCriteria = "<RateRange CurrencyCode='USD'";
            if (RateMax != "")
            {
                RateRangeCriteria += "Max=" + RateMax;
            }
            if (RateMin != "")
            {
                RateRangeCriteria += "Min=" + RateMin;
            }
            RateRangeCriteria += "</RateRange>";
        }
        if (RateRangeCriteria != "")
        {
            RatePlanCandiCriteria = "<RatePlanCandidates>" + RateRangeCriteria + "</RatePlanCandidates>";
        }

        #endregion
        #region rq
        rq += "<SOAP-ENV:Body>";
        rq += "<OTA_HotelAvailRQ Version='2.3.0' xmlns='http://webservices.sabre.com/sabreXML/2011/10' xmlns:xs='http://www.w3.org/2001/XMLSchema' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>";
        rq += "<AvailRequestSegment>";
        ////rq += CustomerCriteria;
        rq += GuestCountCriteria;
        rq += HotelSearchCriteria;
        ////rq += RateRangeCriteria;
        rq += TimeSpanCriteria;
        rq += "  </AvailRequestSegment>";
        rq += "</OTA_HotelAvailRQ>";
        rq += "</SOAP-ENV:Body>";

        return(rq);

        #endregion
    }