public CommodityInstrumentTypeList BuildCommodityInstrumentTypes(IQueryable data)
        {
            var commodityInstrumentTypes = new CommodityInstrumentTypeList();

            var adcCommodityList = data.Cast <PartyCrossMap>()
                                   .Where(x => x.Commodity != null)
                                   .Select(x => x.Commodity)
                                   .Distinct()
                                   .ToList();

            foreach (var adcCommodity in adcCommodityList)
            {
                if (string.IsNullOrWhiteSpace(adcCommodity))
                {
                    continue;
                }

                var nexusId = new MdmId
                {
                    Identifier             = adcCommodity,
                    SourceSystemOriginated = false,
                    IsMdmId    = false,
                    SystemName = "ADC"
                };

                var commodity          = this.GetCommodity(adcCommodity);
                var instrumentType     = this.GetInstrumentType(adcCommodity);
                var instrumentDelivery = this.GetInstrumentDelivery(adcCommodity);

                if (commodity == null)
                {
                    continue;
                }

                var commodityInstrumentType = new CommodityInstrumentType
                {
                    Identifiers = new MdmIdList {
                        nexusId
                    },
                    Details =
                    {
                        Commodity          = commodity,
                        InstrumentType     = instrumentType,
                        InstrumentDelivery = instrumentDelivery
                    }
                };

                commodityInstrumentTypes.Add(commodityInstrumentType);
            }

            return(commodityInstrumentTypes);
        }
        public CommodityInstrumentTypeList BuildCommodityInstrumentTypes(IQueryable data)
        {
            var commodityInstrumentTypes = new CommodityInstrumentTypeList();

            var adcCommodityList = data.Cast<PartyCrossMap>()
                                    .Where(x => x.Commodity != null)
                                    .Select(x => x.Commodity)
                                    .Distinct()
                                    .ToList();

            foreach (var adcCommodity in adcCommodityList)
            {
                if (string.IsNullOrWhiteSpace(adcCommodity))
                {
                    continue;
                }

                var nexusId = new MdmId
                {
                    Identifier = adcCommodity,
                    SourceSystemOriginated = false,
                    IsMdmId = false,
                    SystemName = "ADC"
                };

                var commodity = this.GetCommodity(adcCommodity);
                var instrumentType = this.GetInstrumentType(adcCommodity);
                var instrumentDelivery = this.GetInstrumentDelivery(adcCommodity);

                if (commodity == null)
                {
                    continue;
                }

                var commodityInstrumentType = new CommodityInstrumentType
                    {
                        Identifiers = new MdmIdList { nexusId },
                        Details =
                            {
                                Commodity = commodity,
                                InstrumentType = instrumentType,
                                InstrumentDelivery = instrumentDelivery
                            }
                    };

                commodityInstrumentTypes.Add(commodityInstrumentType);
            }

            return commodityInstrumentTypes;
        }