public void GetSearchResult()
        {
            SearchInputData searchInputData = PreparesSearchObj();
            var             SMRresult       = SMCLSSearch.SearchHotels(searchInputData, searchData.sID).Result;

            MapSearchResult(SMRresult);
        }
        public HBSearchData PreparesSearchObj()
        {
            SearchInputData searchInputData = new SearchInputData();

            searchInputData.checkin     = Convert.ToDateTime(searchData.DateFrom).ToString("yyyy-MM-dd");
            searchInputData.checkout    = Convert.ToDateTime(searchData.DateTo).ToString("yyyy-MM-dd");
            searchInputData.currency    = "KWD";
            searchInputData.Nationality = "EG";
            searchInputData.occupancies = new List <Occupancy>();
            searchInputData.hotels      = new List <string>();
            for (int i = 0; i < searchData.SearchRooms.Count; i++)
            {
                Occupancy occupancy = new Occupancy()
                {
                    paxes = new List <Pax>()
                };
                for (int j = 0; j < searchData.SearchRooms[i].Adult; j++)
                {
                    occupancy.paxes.Add(new Pax {
                        age = 30
                    });
                }
                for (int k = 0; k < searchData.SearchRooms[i].Child.Count; k++)
                {
                    occupancy.paxes.Add(new Pax {
                        age = searchData.SearchRooms[i].Child[k]
                    });
                }
                searchInputData.occupancies.Add(occupancy);
            }
            searchInputData.hotels = HotelIds;
            // searchInputData.hotels.Add("1");
            //searchInputData.hotels.Add("180");
            return(searchInputData);
        }
        public void GetSearchResult()
        {
            SearchInputData searchInputData = PreparesSearchObj();

            searchOutputs = SMCLSSearch.SearchHotels(searchInputData, searchData.sID).Result;
            MealDataEntry mealDataEntry = new MealDataEntry();

            boardCodes = mealDataEntry.getSMRBoardCode();
        }
        public List <FreelancerData> SearchData(SearchInputData searchInputData)
        {
            string CityId           = searchInputData.CityId;
            string UnavailableDates = searchInputData.UnavailableDates;
            string Session          = searchInputData.Session;
            int    SkillId          = searchInputData.SkillId;



            return(_searchServices.GetFreelancerData(CityId, UnavailableDates, SkillId, Session));
        }
        public static SearchInputData MapInputData(CBSearchData value)
        {
            SearchInputData data = new SearchInputData();

            data.checkin     = value.dateFrom;
            data.checkout    = value.dateTo;
            data.currency    = value.Currency;
            data.Nationality = value.Nationality;
            data.hotels.Add("160");
            data.hotels.Add("180");
            ////

            var occupancies = new List <Occupancy>();

            for (int i = 0; i < value.rooms; i++)
            {
                //   ClsRoomRequest room = new ClsRoomRequest();
                List <int> child     = new List <int>();
                var        agesdata  = new List <Pax>();
                var        occupancy = new Occupancy();
                var        adult     = Convert.ToInt32(value.sAdults.Split(',')[i]);
                for (int j = 0; j < adult; j++)
                {
                    agesdata.Add(new Pax {
                        age = 30
                    });
                }
                if (value.sChilds != "" && value.sChilds != null)
                {
                    var childern = Convert.ToInt16(value.sChilds.Split(',')[i]);
                }
                string[] arrAges;
                if (value.sAges != "" && value.sAges != null && value.sAges != "0-0")
                {
                    arrAges = value.sAges.Split(',')[i].Split('-');
                    foreach (string age in arrAges)
                    {
                        if (age != "" && age != "0")
                        {
                            agesdata.Add(new Pax {
                                age = Convert.ToInt32(age)
                            });
                            // child.Add(Convert.ToInt32(age));
                        }
                    }
                }
                occupancy.paxes.AddRange(agesdata);
                occupancies.Add(occupancy);
            }
            data.occupancies = occupancies;

            //
            return(data);
        }
Esempio n. 6
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>());
            }
        }
        public async Task <GraphQLResponse> GetHotelsData(SearchInputData data, string SessionID)
        {
            try {
                var HotelRequest = new GraphQLRequest
                {
                    //client: ""citybookers"", testMode: true, context: ""LOGI""
                    Query         = @"
               query VariableData($hotelsdata:[String!]!,$ch_in: Date!,$ch_out:Date!,$paxesdata:[RoomInput!]!,$nat:Country,$Money:Currency )
                    {
                  hotelX {
                 search(criteria: {checkIn:$ch_in, checkOut:$ch_out,hotels:$hotelsdata ,nationality:$nat,currency:$Money,
                occupancies:$paxesdata}, settings: {client: ""Demo_Client"", testMode: true, context: ""HOTELTEST""}) {
                      errors {
                         code
                        type
                        description
                              }
                      warnings {
                        code
                        type
                        description
                                }
                      options {
                         id
                        supplierCode
                        hotelCode
                        hotelName remarks token
                        boardCode
                        accessCode market hotelCodeSupplier boardCodeSupplier paymentType status 
          
                 occupancies{
                  id paxes{
                   age
                      }
                         }     
                rooms{
             code occupancyRefId
               beds {
                 type 
            description  
                count 
            shared 
             } description refundable units 
         roomPrice{
             price {
             net
           currency
             gross
          exchange{
            rate
            currency
          }
                   }
                   }
          }
           supplements{
          code 
         name 
         description 
         supplementType 
         chargeType 
         mandatory 
         durationType 
       quantity 
        unit 
      effectiveDate 
      expireDate 
        resort {
         name
          }
             price{
            net
          currency
          
              }      
            }       surcharges{
                    chargeType description mandatory
                  price{net currency}
                }
          cancelPolicy{
          refundable
          cancelPenalties{
            hoursBefore currency penaltyType value
          }
        }         
                        price {
                                    net
                          currency
                gross
          exchange{
            rate
            currency
          }
                                }
                            }
                    }
                    }
                }
                ",
                    OperationName = "VariableData",
                    Variables     = new
                    {
                        hotelsdata = data.hotels,
                        ch_in      = data.checkin,
                        ch_out     = data.checkout,
                        paxesdata  = data.occupancies,
                        nat        = data.Nationality,
                        Money      = data.currency
                    }
                };

                string    path = @"E:\hotelproviders\SMYROOMS\SMYROOMS\ConfigData.xml";
                XDocument doc  = XDocument.Load(path);

                var url         = doc.Element("MetaData").Element("URL").Value;
                var KeyData     = doc.Element("MetaData").Element("TokenKEY").Value;
                var requestData = JsonConvert.SerializeObject(HotelRequest);

                LoggerHelper.WriteToFile("c:/HotelsB2C/Logs/SMLogs/SearchRequests", "SearchRequest_" + SessionID, "SearchRequest", requestData);

                var graphQLClient = new GraphQLClient(url);
                graphQLClient.DefaultRequestHeaders.Add("Authorization", KeyData);

                var graphQLResponse = graphQLClient.PostAsync(HotelRequest).Result;
                var ResponseData    = JsonConvert.SerializeObject(graphQLResponse);

                LoggerHelper.WriteToFile("c:/HotelsB2C/Logs/SMLogs/SearchResponses", "SearchResponse_" + SessionID, "SearchResponse", ResponseData);
                return(graphQLResponse);
            }
            catch (Exception ex)
            {
                var requestData = JsonConvert.SerializeObject(ex);

                LoggerHelper.WriteToFile("c:/HotelsB2C/Logs/SMLogs/SearchQUERYException", "SearchQUERYException_" + SessionID, "SearchQUERYException", requestData);
                throw;
            }
        }
Esempio n. 8
0
        public FreelancerData GetDetails(SearchInputData searchInputData)
        {
            int UserId = searchInputData.UserId;

            return(_profileServices.GetProfileDetails(UserId));
        }