public IEnumerable <HotelRateProviderRes> RetrieveHotelRates(HotelPropertyProviderReq request)
        {
            List <HotelRateProviderRes> abccc = new List <HotelRateProviderRes>();
            var response = new HotelBedsDetailsHandler().Execute(request);

            return(abccc);
        }
        //SearchHotelsById - List of Rates
        //public HotelPropertyProviderRes RetrieveHotelInfo(string hotelCode)
        //{
        //    //HotelPropertyDescription call to return both
        //    var request = new TE.Core.ServiceCatalogues.HotelCatalog.Provider.HotelPropertyProviderReq
        //    {
        //        HotelCode = hotelCode
        //    };
        //    var propertyInfo = new TouricoRetrieveHotelPropertyHandler().Execute(request);
        //    //propertyInfo.HotelInfo.PropertyInformation = propertyInfo.HotelDetails;
        //    //propertyInfo.HotelInfo = propertyInfo.HotelInfo;
        //    return propertyInfo;
        //}
        public IEnumerable<HotelRateProviderRes> RetrieveHotelRates(HotelPropertyProviderReq request)
        {
            var propertyInfo = new TouricoRetrieveHotelRateHandler().Execute(request);

            if (propertyInfo.HotelRates == null || !propertyInfo.HotelRates.Any())
            {
                throw new ApplicationException("No rates were returned by the HotelPropertyDescription API.");
            }

            return propertyInfo.HotelRates;
        }
        //Call to GetHotelDetailsV3
        public HotelPropertyProviderRes RetrieveHotelInfos(string hotelCode)
        {
            var request = new HotelPropertyProviderReq
            {
                HotelCode = hotelCode
            };

            var propertyInfo = new TouricoRetrieveHotelPropertyHandler().Execute(request);

            return propertyInfo;
        }
        //public HotelPropertyProviderRes RetrieveHotelInfo(string hotelCode)
        //{
        //    //HotelPropertyDescription call to return both
        //    var request = new TE.Core.ServiceCatalogues.HotelCatalog.Provider.HotelPropertyProviderReq
        //    {
        //        HotelCode = hotelCode
        //    };

        //    var propertyInfo = new TouricoRetrieveHotelPropertyHandler().Execute(request);

        //    //propertyInfo.HotelInfo.PropertyInformation = propertyInfo.HotelDetails;
        //    //propertyInfo.HotelInfo = propertyInfo.HotelInfo;

        //    return propertyInfo;
        //}


        public IEnumerable <HotelRateProviderRes> RetrieveHotelRates(HotelPropertyProviderReq request) //SearchHotelsById - List of Rates
        {
            var propertyInfo = new TouricoRetrieveHotelRateHandler().Execute(request);

            if (propertyInfo.HotelRates == null || !propertyInfo.HotelRates.Any())
            {
                throw new ApplicationException("No rates were returned by the HotelPropertyDescription API.");
            }

            return(propertyInfo.HotelRates);
        }
        //Call to GetHotelDetailsV3
        public HotelPropertyProviderRes RetrieveHotelInfos(string hotelCode)
        {
            var request = new HotelPropertyProviderReq
            {
                HotelCode = hotelCode
            };


            var propertyInfo = new TouricoRetrieveHotelPropertyHandler().Execute(request);

            return(propertyInfo);
        }
        private HotelPropertyProviderReq ConvertToProviderRequest(HotelSearchDto hotelDto)
        {
            HotelPropertyProviderReq providerReq = new HotelPropertyProviderReq();

            if (hotelDto != null)
            {
                providerReq.CheckInDate  = Convert.ToDateTime(hotelDto.StartDate);
                providerReq.CheckOutDate = Convert.ToDateTime(hotelDto.EndDate);
                providerReq.HotelCode    = selectedHotelCode;
                providerReq.NoOfGuest    = Convert.ToInt16(hotelDto.TotalGuest);
            }
            return(providerReq);
        }
        private HotelPropertyProviderReq ConvertToProviderRequest(HotelSearchDto hotelDto)
        {
            HotelPropertyProviderReq providerReq = new HotelPropertyProviderReq();
            if (hotelDto != null)
            {
                providerReq.CheckInDate = Convert.ToDateTime(hotelDto.StartDate);
                providerReq.CheckOutDate = Convert.ToDateTime(hotelDto.EndDate);
                providerReq.HotelCode = selectedHotelCode;
                providerReq.NoOfGuest = Convert.ToInt16(hotelDto.TotalGuest);

            }
            return providerReq;
        }
        //Call to GetHotelDetailsV3
        public HotelInfo RetrieveHotelInfo(string hotelCode)
        {
            var request = new HotelPropertyProviderReq
            {
                HotelCode = hotelCode
            };

            var propertyInfo = new TouricoRetrieveHotelPropertyHandler().Execute(request);

            propertyInfo.HotelInfo = propertyInfo.HotelInfo;

            propertyInfo.HotelInfo.PropertyInformation = propertyInfo.HotelDetails;

            return propertyInfo.HotelInfo;
        }
        //Call to GetHotelDetailsV3
        public HotelInfo RetrieveHotelInfo(string hotelCode)
        {
            var request = new HotelPropertyProviderReq
            {
                HotelCode = hotelCode
            };


            var propertyInfo = new TouricoRetrieveHotelPropertyHandler().Execute(request);

            propertyInfo.HotelInfo = propertyInfo.HotelInfo;

            propertyInfo.HotelInfo.PropertyInformation = propertyInfo.HotelDetails;


            return(propertyInfo.HotelInfo);
        }
Esempio n. 10
0
        public HotelRateProviderRes Execute(HotelPropertyProviderReq request)
        {
            Logger.Instance.LogFunctionEntry(this.GetType().Name, "Execute");
            Availability avail  = new Availability();
            List <Hotel> hotels = new List <Hotel>();

            if (request.CheckInDate <= DateTime.Today)
            {
                throw new ArgumentOutOfRangeException(nameof(request.CheckInDate));
            }
            if (request.CheckInDate >= request.CheckOutDate)
            {
                throw new ArgumentOutOfRangeException(nameof(request.CheckOutDate));
            }
            if (request.NoOfGuest < 1)
            {
                throw new ArgumentOutOfRangeException(nameof(request.NoOfGuest));
            }

            HotelRateProviderRes hotelSearchResults = null;

            using (var hotelBedsworker = new HotelBedsWorker())
            {
                //convert the request dto to the Hot Beds search api payload
                AvailabilityRQ hotelBedsSearchRq = ConvertToHotelBedsSearchRequest(request);
                try
                {
                    var hotelBedsHotels = hotelBedsworker.GetHotelDetails(hotelBedsSearchRq);

                    //hotelSearchResults = ConvertToProviderResponse(hotelBedsHotels);

                    //if (hotelSearchResults == null)
                    //{
                    //    throw new ProviderUnavailableException(ProviderTypes.HotelBeds.ToString(), $"No response to {nameof(AvailabilityRQ)}.", null);
                    //}
                }
                catch (Exception)
                {
                    throw;
                }
            }
            Logger.Instance.LogFunctionExit(this.GetType().Name, "Execute");
            return(hotelSearchResults);
        }
Esempio n. 11
0
        private AvailabilityRQ ConvertToHotelBedsSearchRequest(HotelPropertyProviderReq request)
        {
            Logger.Instance.LogFunctionEntry(this.GetType().Name, "ConvertToHotelBedsSearchRequest");
            AvailabilityRQ hotelBedsAvailabilityRQ = new AvailabilityRQ();

            if (request.HotelCode != null && request.HotelCode.Any())
            {
                var        selectedHotel = request.HotelCode.Split(new char[] { ' ' }).ToList();
                List <int> intHotelList  = selectedHotel.ConvertAll(s => Int32.Parse(s));

                hotelBedsAvailabilityRQ.hotels = new HotelsFilter()
                {
                    hotel = intHotelList
                };
            }

            hotelBedsAvailabilityRQ.stay = new Stay(request.CheckInDate, request.CheckOutDate, 2, true);

            hotelBedsAvailabilityRQ.occupancies = new List <Occupancy>();
            hotelBedsAvailabilityRQ.occupancies.Add(new Occupancy
            {
                adults   = request.NoOfGuest,
                rooms    = HotelBedsConstants.TotalRooms,
                children = 0,
                paxes    = new List <Pax>()
                {
                    new Pax
                    {
                        age  = HotelBedsConstants.AdultAge,
                        type = com.hotelbeds.distribution.hotel_api_model.auto.common.SimpleTypes.HotelbedsCustomerType.AD
                    }
                }
            });
            Logger.Instance.LogFunctionExit(this.GetType().Name, "ConvertToHotelBedsSearchRequest");
            return(hotelBedsAvailabilityRQ);
        }
Esempio n. 12
0
 public IEnumerable <HotelRateProviderRes> RetrieveHotelRates(HotelPropertyProviderReq request)
 {
     throw new NotImplementedException();
 }
 public IEnumerable<HotelRateProviderRes> RetrieveHotelRates(HotelPropertyProviderReq request)
 {
     throw new NotImplementedException();
 }