コード例 #1
0
        public List <News> GetNews(int channelId, DateSpan dateRange = null)
        {
            bool contains;
            var  listNews = newsStore.ReceiveValueCheckContains(channelId, out contains);

            if (!contains)
            {
                return(null);
            }

            if (listNews != null)
            {
                // вернуть либо весь список, либо отфильтрованные по дате значения
                if (dateRange == null)
                {
                    return(listNews);
                }
                var subList = listNews.Where(n => dateRange.IsIn(n.Time)).ToList();
                return(subList);
            }

            // подкачать новости из файла и вернуть список
            listNews = ReadNewsFromFile(channelId);
            if (listNews == null)
            {
                return(null);
            }
            return(dateRange == null ? listNews
                : listNews.Where(n => dateRange.IsIn(n.Time)).ToList());
        }