public NewsMap MakeNewsMap()
        {
            var allNews = newsStore.ReceiveAllData();

            var map = new NewsMap
            {
                channelIds = new int[0],
                records    = new NewsMapRecord[0]
            };

            map.channelIds = allNews.Keys.ToArray();

            // посчитать количество записей на дату
            var records = new Dictionary <DateTime, NewsMapRecord>();

            foreach (var chanNews in allNews.Where(n => n.Value != null))
            {
                var list = chanNews.Value;
                foreach (var news in list)
                {
                    var date = news.Time.Date;
                    if (!records.ContainsKey(date))
                    {
                        records.Add(date, new NewsMapRecord(date, 1));
                    }
                    else
                    {
                        records[date] = new NewsMapRecord(date, records[date].recordsCount + 1);
                    }
                }
            }
            map.records = records.Values.OrderBy(r => r.date).ToArray();
            return(map);
        }
        public NewsMap GetNewsMap(int accountId)
        {
            var map = new NewsMap
            {
                channelIds = new int[0],
                records    = new NewsMapRecord[0]
            };

            if (!channelsByAccount.ContainsKey(accountId))
            {
                return(map);
            }

            map.channelIds = channelsByAccount[accountId];

            // посчитать количество записей на дату
            var records = new Dictionary <DateTime, NewsMapRecord>();

            foreach (var chan in map.channelIds)
            {
                var list = newsByChannel[chan];
                foreach (var news in list)
                {
                    var date = news.Time.Date;
                    if (!records.ContainsKey(date))
                    {
                        records.Add(date, new NewsMapRecord(date, 1));
                    }
                    else
                    {
                        records[date] = new NewsMapRecord(date, records[date].recordsCount + 1);
                    }
                }
            }
            map.records = records.Values.OrderBy(r => r.date).ToArray();
            return(map);
        }