예제 #1
0
        /// <summary>
        /// Метод проверяет текущую дату и время и вызывает событие старта и остановки проигрывания контента
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private static void CheckTime(object sender, EventArgs e)
        {
            Logger.Trace("Проверка времени");

            DateTimeOffset dateTimeOffset = DateTimeOffset.Now;

            List <Playlist.PlayList> _Playlist = null;

            foreach (var playlist in playLists)
            {
                if (playlist.Days.Any(d => Dates.InToday(d.Day, dateTimeOffset)))
                {
                    Dates temp = playlist.Days.First(d => d.Day.Date == dateTimeOffset.Date);

                    if (temp.timeOfPlayings.Any(d => TimeOfPlaying.InPeriod(d, dateTimeOffset)))
                    {
                        _Playlist.Add(playlist);
                        Logger.Trace("Плейлист добавлен в очередь воспроизведения");
                    }
                }
            }
            if (_Playlist != null && _Playlist.Count > 0)
            {
                Logger.Info("Плановый старт воспроизведения контента");
                StartPlaying(_Playlist);
            }
            else
            {
                Logger.Info("Плановая остановка воспроизведения контента");
                StopPlaying();
            }
        }