private PriceDetectiveEmailModel MapToPriceDetectiveItemModel( IEnumerable <PriceSeries> todayPriceSeries, IEnumerable <PriceSeries> yesterdayPriceSeries, IEnumerable <PriceSeries> minPriceSeries, IEnumerable <PriceSeries> maxPriceSeries) { var priceDetectiveEmailModel = new PriceDetectiveEmailModel(); var parsers = todayPriceSeries.GroupBy(x => x.ParserId); foreach (var parser in parsers) { var todayPrice = todayPriceSeries.FirstOrDefault(x => x.ParserId == parser.Key); var yesterdayPrice = yesterdayPriceSeries.FirstOrDefault(x => x.ParserId == parser.Key); var minPrice = minPriceSeries.FirstOrDefault(x => x.ParserId == parser.Key); var maxPrice = maxPriceSeries.FirstOrDefault(x => x.ParserId == parser.Key); var priceDetectiveItemModel = new PriceDetectiveItemModel() { Min = minPrice?.Price, Max = maxPrice?.Price, Prev = yesterdayPrice?.Price, Currrent = todayPrice?.Price, Title = todayPrice.PriceDetails.Title, Url = todayPrice.Parser.Uri }; priceDetectiveEmailModel.Items.Add(priceDetectiveItemModel); } priceDetectiveEmailModel.Items = priceDetectiveEmailModel.Items.OrderByDescending(x => x.Currrent).ToList(); return(priceDetectiveEmailModel); }
public void SetBodyData(object priceDetectiveModel) { _priceDetectiveModel = priceDetectiveModel as PriceDetectiveEmailModel; if (_priceDetectiveModel != null) { DataDictionary.Add("items", _priceDetectiveModel.Items); } }