Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        public void SetBodyData(object priceDetectiveModel)
        {
            _priceDetectiveModel = priceDetectiveModel as PriceDetectiveEmailModel;

            if (_priceDetectiveModel != null)
            {
                DataDictionary.Add("items", _priceDetectiveModel.Items);
            }
        }