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); }
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); }