Example #1
0
        public AirAvailabilityResponseMain ConverToModelForLFS(LowFareSearchRsp rsp)
        {
            AirAvailabilityResponseMain respMain = new AirAvailabilityResponseMain();

            respMain.AirAvailabilityResponse = new System.Collections.Generic.List <AirAvailabilityResponse>();
            AirAvailabilityResponse response = new AirAvailabilityResponse();

            response.AirAvailabilityResult = new System.Collections.Generic.List <AirAvailabilityResult>();
            AirAvailabilityResult result = new AirAvailabilityResult();

            System.Collections.Generic.List <AirAvailabilityResponse> liAirAvailabilityResponse = new System.Collections.Generic.List <AirAvailabilityResponse>();
            System.Collections.Generic.List <AirAvailabilityResult>   liAirAvailabilityResult   = new System.Collections.Generic.List <AirAvailabilityResult>();
            if (rsp != null)
            {
                for (var i = 0; i < rsp.Items.Length; i++)
                {
                    response = new AirAvailabilityResponse();
                    response.AirAvailabilityResult = new System.Collections.Generic.List <AirAvailabilityResult>();
                    liAirAvailabilityResult        = new System.Collections.Generic.List <AirAvailabilityResult>();
                    liAirAvailabilityResponse      = new System.Collections.Generic.List <AirAvailabilityResponse>();


                    for (var j = 0; j < ((AirPricingSolution)rsp.Items[i]).Journey[0].AirSegmentRef.Length; j++)
                    {
                        var data = (from a in rsp.AirSegmentList
                                    where a.Key == ((AirPricingSolution)rsp.Items[i]).Journey[0].AirSegmentRef[j].Key
                                    select new
                        {
                            a.Destination,
                            a.ArrivalTime,
                            a.Origin,
                            a.DepartureTime,
                            a.ProviderCode,
                            ((AirPricingSolution)rsp.Items[i]).TotalPrice,
                            ((AirPricingSolution)rsp.Items[i]).Taxes,
                            a.Carrier
                        }).FirstOrDefault();
                        liAirAvailabilityResult = new System.Collections.Generic.List <AirAvailabilityResult>();
                        liAirAvailabilityResult.Add(new AirAvailabilityResult()
                        {
                            From          = data.Origin,
                            DepartureTime = Convert.ToDateTime(data.DepartureTime).ToString("dd-MMM-yyyy hh:mm tt"),
                            To            = data.Destination,
                            ArrivalTime   = Convert.ToDateTime(data.ArrivalTime).ToString("dd-MMM-yyyy hh:mm tt"),
                            Carrier       = data.Carrier
                        });

                        response.AirAvailabilityResult.AddRange(liAirAvailabilityResult);
                        response.Amount    = ((AirPricingSolution)rsp.Items[i]).TotalPrice;
                        response.TaxAmount = ((AirPricingSolution)rsp.Items[i]).Taxes;
                    }
                    respMain.AirAvailabilityResponse.Add(response);
                }
            }
            return(respMain);
        }
Example #2
0
        public AirAvailabilityResponseMain ConverToModel(AvailabilitySearchRsp rsp)
        {
            var bLoop         = false;
            var iSegmentCount = 0;
            AirAvailabilityResponseMain respMain = new AirAvailabilityResponseMain();

            respMain.AirAvailabilityResponse = new System.Collections.Generic.List <AirAvailabilityResponse>();
            AirAvailabilityResponse response = new AirAvailabilityResponse();

            response.AirAvailabilityResult = new System.Collections.Generic.List <AirAvailabilityResult>();
            AirAvailabilityResult result = new AirAvailabilityResult();

            System.Collections.Generic.List <AirAvailabilityResponse> liAirAvailabilityResponse = new System.Collections.Generic.List <AirAvailabilityResponse>();
            System.Collections.Generic.List <AirAvailabilityResult>   liAirAvailabilityResult   = new System.Collections.Generic.List <AirAvailabilityResult>();
            if (rsp != null)
            {
                var j = 0;
                for (var i = 0; i < rsp.AirItinerarySolution[0].Connection.Length; i++)
                {
                    if (i == 0)
                    {
                        while (j < rsp.AirItinerarySolution[0].Connection[i].SegmentIndex)
                        {
                            liAirAvailabilityResult   = new System.Collections.Generic.List <AirAvailabilityResult>();
                            liAirAvailabilityResponse = new System.Collections.Generic.List <AirAvailabilityResponse>();
                            response = new AirAvailabilityResponse();
                            response.AirAvailabilityResult = new System.Collections.Generic.List <AirAvailabilityResult>();
                            liAirAvailabilityResult.Add(new AirAvailabilityResult()
                            {
                                From = rsp.FlightDetailsList[j].Origin,
                                To   = rsp.FlightDetailsList[j].Destination
                            });
                            response.AirAvailabilityResult.AddRange(liAirAvailabilityResult);
                            respMain.AirAvailabilityResponse.Add(response);
                            j++;
                        }
                        j = rsp.AirItinerarySolution[0].Connection[i].SegmentIndex;
                    }
                    else if (i < rsp.AirItinerarySolution[0].Connection.Length - 1)
                    {
                        response = new AirAvailabilityResponse();
                        response.AirAvailabilityResult = new System.Collections.Generic.List <AirAvailabilityResult>();
                        liAirAvailabilityResult        = new System.Collections.Generic.List <AirAvailabilityResult>();
                        liAirAvailabilityResponse      = new System.Collections.Generic.List <AirAvailabilityResponse>();
                        while (j < rsp.AirItinerarySolution[0].Connection[i].SegmentIndex)
                        {
                            liAirAvailabilityResult = new System.Collections.Generic.List <AirAvailabilityResult>();
                            liAirAvailabilityResult.Add(new AirAvailabilityResult()
                            {
                                From = rsp.FlightDetailsList[j].Origin,
                                To   = rsp.FlightDetailsList[j].Destination
                            });
                            response.AirAvailabilityResult.AddRange(liAirAvailabilityResult);
                            iSegmentCount = rsp.AirItinerarySolution[0].Connection[i].SegmentIndex;
                            j++;
                        }
                        respMain.AirAvailabilityResponse.Add(response);
                        j = rsp.AirItinerarySolution[0].Connection[i].SegmentIndex;
                    }
                    else if (rsp.AirItinerarySolution[0].Connection.Length - 1 == i)
                    {
                        response = new AirAvailabilityResponse();
                        response.AirAvailabilityResult = new System.Collections.Generic.List <AirAvailabilityResult>();
                        liAirAvailabilityResult        = new System.Collections.Generic.List <AirAvailabilityResult>();
                        liAirAvailabilityResponse      = new System.Collections.Generic.List <AirAvailabilityResponse>();
                        j = rsp.AirItinerarySolution[0].Connection[i].SegmentIndex;
                        while (j < rsp.AirSegmentList.Length)
                        {
                            liAirAvailabilityResult = new System.Collections.Generic.List <AirAvailabilityResult>();
                            liAirAvailabilityResult.Add(new AirAvailabilityResult()
                            {
                                From = rsp.FlightDetailsList[j].Origin,
                                To   = rsp.FlightDetailsList[j].Destination
                            });
                            response.AirAvailabilityResult.AddRange(liAirAvailabilityResult);
                            iSegmentCount = rsp.AirItinerarySolution[0].Connection[i].SegmentIndex;
                            j++;
                        }
                        respMain.AirAvailabilityResponse.Add(response);
                    }
                }
            }
            return(respMain);
        }