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);
        }
示例#2
0
        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);
        }