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()); }