Exemple #1
0
        private async Task <bool> GetDataFromMystifly(List <Domain.Rootobject> list, Models.Rootobject model, string key)
        {
            //bool isAdded = await AddSupplierDetailsToRequestObject(model, this._SupplierCodeMystyfly);
            // SupplierAgencyDetails supplierDetails = supplierAgencyServices.GetBasicDetailsOfMystifly(model.CommonRequestSearch.AgencyCode, "T");
            //SupplierAgencyDetails supplierDetails = agenciesBasicDetails.GetBasicDetailsOfMystifly(model.CommonRequestSearch.AgencyCode, "T");
            SupplierAgencyDetails supplierDetails = await agenciesBasicDetails.GeBasicDetailsOfSupplier(model.CommonRequestSearch.AgencyCode, SupplierCode.MIS001.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;
                SearchFlightsMystifly requestModel = new SearchFlightsMystifly();
                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 strData = string.Empty;

                string reqUri          = ConficBase.GetConfigAppValue(ReqUrlMystyfly);
                bool   isFetchedFromDb = false;
                strData = await GetSupplierResponseFromDb(model, SupplierCode.MIS001.ToString(), key);

                string req = JsonConvert.SerializeObject(model);
                if (string.IsNullOrEmpty(strData))
                {
                    // var result = await partnerClient.GetMystiflyData(baseUri, reqUri, model);
                    var result = await partnerClient.GetMystiflyData(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(SupplierCodeMystyfly), key);
                        }

                        return(true);
                    }
                }
            }
            return(false);
        }
Exemple #2
0
        public async Task <ResponsePackage> GetMystiflyData(string baseUri, string reqUri, SearchFlightsMystifly 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);
                }
            }
        }