Ejemplo n.º 1
0
        public static async Task <List <SearchOutputData> > SearchHotels(SearchInputData value, string SessionID)
        {
            try {
                //yyyy-mm-dd
                //  var searchdata=   SearchMapper.MapInputData(value);
                SearchService service = new SearchService();
                var           data    = await service.GetHotelsData(value, SessionID);

                List <SearchOutputData> OutPutData  = new List <SearchOutputData>();
                List <SearchOutputData> OutPutHotel = new List <SearchOutputData>();
                ResponseMapper          map         = new ResponseMapper();
                if (data.Data.hotelX.search.errors == null)
                {
                    OutPutData = map.MappingData(data, SessionID);
                    DataEntry db = new DataEntry();
                    db.SaveSMRHotelRates(OutPutData, SessionID);
                }
                else
                {
                    return(new List <SearchOutputData>());
                }
                foreach (var item in value.hotels)
                {
                    var lstofHotels      = OutPutData.Where(a => a.hotelCode == item).ToList();
                    var lstofSortedHotel = lstofHotels.Where(a => a.price.net == lstofHotels.Min(x => x.price.net)).FirstOrDefault();
                    if (lstofSortedHotel != null)
                    {
                        OutPutHotel.Add(lstofSortedHotel);
                    }
                }
                return(OutPutHotel);
            }
            catch (Exception ex)
            {
                var requestData = JsonConvert.SerializeObject(ex);

                LoggerHelper.WriteToFile("SMLogs/SearchException", "SearchException_" + SessionID, "SearchException", requestData);
                return(new List <SearchOutputData>());
            }
        }