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); }
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; } }
public FreelancerData GetDetails(SearchInputData searchInputData) { int UserId = searchInputData.UserId; return(_profileServices.GetProfileDetails(UserId)); }