Пример #1
0
        protected override void ReadData(Endpoint endpoint, PipelineStep pipelineStep, PipelineContext pipelineContext,
                                         ILogger logger)
        {
            if (endpoint == null)
            {
                throw new ArgumentNullException(nameof(endpoint));
            }
            if (pipelineStep == null)
            {
                throw new ArgumentNullException(nameof(pipelineStep));
            }
            if (pipelineContext == null)
            {
                throw new ArgumentNullException(nameof(pipelineContext));
            }

            try
            {
                var settings = endpoint.GetWordpressSettings();
                if (settings == null)
                {
                    logger.Error("Empty WordPress settings");
                    return;
                }
                List <Category> categories     = _wordpressService.Read <Category>(settings.CategoriesUrl, logger);
                var             categoriesData = new IterableDataSettings(categories);
                pipelineContext.AddPlugin(categoriesData);
            }
            catch (Exception ex)
            {
                logger.Error($"Error in ReadCategoriesStepProcessor: {ex.InnerException}");
                pipelineContext.CriticalError = true;
            }
        }