예제 #1
0
        /// <summary>
        /// Запуск пакетного парсинга Rutor
        /// </summary>
        /// <param name="dayFromError"></param>
        /// <returns></returns>
        async Task <bool> ManagerRutor(int dayFromError)
        {
            IList <RutorListItem> errorList =
                _context
                .RutorListItems
                .FromSqlInterpolated($"RutorListItemsError {DateTime.Now.AddDays(-dayFromError)}")
                .ToList();

            if (errorList.Count > 0)
            {
                bool resTails = await FlowRutor(errorList);

                if (!resTails)
                {
                    _logger.LogError("Ошибка пакетной публикации хвостов");
                    return(false);
                }
            }

            RutorCheckListInput rutorCheckListInput =
                _context
                .RutorCheckListInputs
                .Single(el => el.Active);
            IList <RutorListItem> rutorListItem = await _rutorService.CheckList(rutorCheckListInput);

            if (rutorListItem == null)
            {
                _logger.LogError("Ошибка проверки новых презентаций. RutorCheckListInput.Id = " + rutorCheckListInput.Id);
                return(false);
            }

            bool res = await FlowRutor(rutorListItem);

            if (!res)
            {
                _logger.LogError("Ошибка пакетной публикации рогов");
                return(false);
            }
            return(true);
        }