private Domain.Rootobject FilteredData(List <Domain.Rootobject> allsupplierData) { var allsupplieFlightIndexData = allsupplierData.SelectMany(x => x.fareMasterPricerTravelBoardSearchReply.flightIndex).ToList(); Faremasterpricertravelboardsearchreply fistRooTObject = allsupplierData.First().fareMasterPricerTravelBoardSearchReply; Domain.Rootobject rootObject = new Domain.Rootobject(); Faremasterpricertravelboardsearchreply faremasterpricertravelboardsearchreply = GetCommonRootObject(fistRooTObject); List <Flightindex> flightindexList = new List <Flightindex>(); /*during debugg uncomment this code and varify your correct data*/ //JavaScriptSerializer serializer = new JavaScriptSerializer(); //string jsonString = serializer.Serialize(allsupplieFlightIndexData); var groupedFlightsByKey = allsupplieFlightIndexData .GroupBy(item => item.SegmentRef.key) .ToDictionary(grp => grp.Key, grp => grp.ToList()); foreach (var item in groupedFlightsByKey) { Flightindex flightindex = item.Value.OrderBy(x => x.fare.amount).FirstOrDefault(); flightindexList.Add(flightindex); } faremasterpricertravelboardsearchreply.flightIndex = flightindexList.OrderBy(x => x.fare.amount).ToList(); rootObject.fareMasterPricerTravelBoardSearchReply = faremasterpricertravelboardsearchreply; return(rootObject); }
private static Faremasterpricertravelboardsearchreply GetCommonRootObject(Faremasterpricertravelboardsearchreply fistRooTObject) { Conversionrate conversionrate = new Conversionrate(); Conversionratedetail conversionratedetail = new Conversionratedetail() { currency = fistRooTObject.conversionRate.conversionRateDetail.currency }; conversionrate.conversionRateDetail = conversionratedetail; Replystatus replystatus = new Replystatus(); Status status = new Status() { advisoryTypeInfo = fistRooTObject.replyStatus.status.advisoryTypeInfo }; replystatus.status = status; Faremasterpricertravelboardsearchreply faremasterpricertravelboardsearchreply = new Faremasterpricertravelboardsearchreply(); faremasterpricertravelboardsearchreply.conversionRate = conversionrate; faremasterpricertravelboardsearchreply.replyStatus = replystatus; return(faremasterpricertravelboardsearchreply); }