private static List <NasaAPOD> GetListAPODs(DateTime minDate, int postCount, List <NasaAPOD> apodsList, DateTime archiveDate)
        {
            var date           = new DateTime();
            var archiveDateMax = new DateTime(archiveDate.Year, archiveDate.Month,
                                              DateTime.DaysInMonth(archiveDate.Year, archiveDate.Month));

            for (int i = 0; i <= postCount; i++)
            {
                date = minDate.AddDays(i);
                if (archiveDate != new DateTime() && (minDate < archiveDate || date > archiveDateMax))
                {
                    return(apodsList);
                }
                var apod = MainApodObjectOperations.Get(date);
                if (apod != null)
                {
                    apodsList.Add(apod);
                }
            }
            if (apodsList.Count < postCount)
            {
                GetListAPODs(minDate.AddDays(-(postCount - apodsList.Count())), postCount - apodsList.Count() - 1, apodsList, archiveDate);
            }
            return(apodsList);
        }
        /// <summary>
        /// Список популярных картинок
        /// </summary>
        /// <param name="count"></param>
        /// <returns></returns>
        public static List <NasaAPOD> GetPopularList(int count)
        {
            var apodsList = MainApodObjectOperations.ListImages().OrderByDescending(o => o.ViewsCount).ToList();

            if (apodsList.Count > count)
            {
                var apodsArray = apodsList.GetRange(0, count);
                return(apodsArray);
            }
            return(apodsList);
        }
        /// <summary>
        /// Возвращaет заголовок
        /// </summary>
        /// <param name="date"></param>
        /// <returns></returns>
        public static string GetTitleApod(DateTime date)
        {
            string title = string.Empty;
            var    apod  = MainApodObjectOperations.Get(date);

            if (apod == null)
            {
                return(title);
            }
            title = apod.Title;
            return(title);
        }
        /// <summary>
        /// Возвращает url случайной картинки
        /// </summary>
        /// <returns></returns>
        public static string GetRandomeImage()
        {
            var url  = string.Empty;
            var list = MainApodObjectOperations.ListImages().ToList();

            if (list.Count > 0)
            {
                Random rnd = new Random();
                int    r   = rnd.Next(list.Count);
                url = list[r].Url;
            }
            return(url);
        }
        /// <summary>
        /// Возвращает url
        /// </summary>
        /// <param name="date"></param>
        /// <returns></returns>
        public static string GetImageUrl(DateTime date)
        {
            string url;
            var    apod = MainApodObjectOperations.Get(date);

            if (apod == null)
            {
                url = "images/notFindApod.png";
                return(url);
            }
            url = apod.Url;
            var mediaType = apod.MediaType;

            if (mediaType != "image")
            {
                url = "images/notImage.png";
            }
            return(url);
        }
        /// <summary>
        /// Самые популярные 2 публикации для главной страницы
        /// </summary>
        /// <returns></returns>
        public static Dictionary <string, DateTime> GetMostPopularOnHome()
        {
            var listPopularPost = new Dictionary <string, DateTime>();
            //Сортируем по убыванию
            var apod = MainApodObjectOperations.List().OrderByDescending(o => o.ViewsCount).ToArray();

            if (!apod.Any())
            {
                return(null);
            }
            for (int i = 0; i < 2; i++)
            {
                if (apod[i] != null)
                {
                    listPopularPost.Add(apod[i].Title, apod[i].Date());
                }
            }

            return(listPopularPost);
        }