private async Task <bool> GetDataFromPython(List <Domain.Rootobject> list, Models.Rootobject model, string key) { string strData = string.Empty; //SupplierAgencyDetails supplierDetails = agenciesBasicDetails.GetBasicDetailsOfPyton(model.CommonRequestSearch.AgencyCode, "T"); SupplierAgencyDetails supplierDetails = await agenciesBasicDetails.GeBasicDetailsOfSupplier(model.CommonRequestSearch.AgencyCode, SupplierCode.PYT001.ToString(), "T"); if (supplierDetails != null) { supplierDetails.AgencyCode = model.CommonRequestSearch.AgencyCode; List <SupplierAgencyDetails> supplierAgencyDetails = new List <SupplierAgencyDetails>(); supplierAgencyDetails.Add(supplierDetails); // model.SupplierAgencyDetails = supplierAgencyDetails; // string baseUri = model.SupplierAgencyDetails.FirstOrDefault().BaseUrl; SearchFlightsPyton requestModel = new SearchFlightsPyton(); requestModel.cabin = model.cabin; requestModel.CommonRequestSearch = model.CommonRequestSearch; requestModel.Currency = model.Currency; requestModel.IsRefundable = model.IsRefundable; requestModel.Maxstopquantity = model.Maxstopquantity; requestModel.NonStop = model.NonStop; requestModel.OriginDestinationInformation = model.OriginDestinationInformation; requestModel.PassengerTypeQuantity = model.PassengerTypeQuantity; requestModel.PreferenceLevel = model.PreferenceLevel; requestModel.PreferredAirline = model.PreferredAirline; requestModel.PricingSource = model.PricingSource; requestModel.RequestOption = model.RequestOption; requestModel.Target = model.Target; requestModel.Triptype = model.Triptype; requestModel.SupplierAgencyDetails = supplierAgencyDetails; string baseUri = supplierDetails.BaseUrl; string reqUri = ConficBase.GetConfigAppValue(ReqUrlPython); bool isFetchedFromDb = false; strData = await GetSupplierResponseFromDb(model, SupplierCode.PYT001.ToString(), key); if (string.IsNullOrEmpty(strData)) { // string strData1 = JsonConvert.SerializeObject(model); var result = await partnerClient.GetPytonData(baseUri, reqUri, requestModel); strData = JsonConvert.SerializeObject(result.Data); isFetchedFromDb = true; } Domain.Rootobject partnerResponseEntity = JsonConvert.DeserializeObject <Domain.Rootobject>(strData); if (partnerResponseEntity != null) { if (partnerResponseEntity.fareMasterPricerTravelBoardSearchReply.flightIndex != null && partnerResponseEntity.fareMasterPricerTravelBoardSearchReply.flightIndex.ToList().Count() > 0) { list.Add(partnerResponseEntity); if (isFetchedFromDb) { AddSearchDetails(model, strData, ConficBase.GetConfigAppValue(SupplierCodePython), key); } return(true); } } } return(false); }
public async Task <ResponsePackage> GetPytonData(string baseUri, string reqUri, SearchFlightsPyton message) { ResponsePackage responsePackage = new ResponsePackage(); using (var client = new HttpClient()) { client.BaseAddress = new Uri(baseUri); client.DefaultRequestHeaders.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); string requestObject = JsonConvert.SerializeObject(message); using (HttpResponseMessage Res = await client.PostAsJsonAsync(reqUri, message)) { if (Res.IsSuccessStatusCode) { var partnerResponse = Res.Content.ReadAsStringAsync().Result; responsePackage = JsonConvert.DeserializeObject <ResponsePackage>(partnerResponse); } return(responsePackage); } } }