예제 #1
0
        public async Task <ActionResult> Post(GumtreeTopicDto dto)
        {
            _validator.Validate(dto).ThrowIfInvalid();

            await _service.CreateAsync(dto);

            return(Created(dto.Id.ToString(), null));
        }
        private async Task <bool> CreateOrRetryIfFailure(string topicUrl, HtmlDocument doc)
        {
            try
            {
                if (string.IsNullOrEmpty(doc.ParsedText))
                {
                    Thread.Sleep(5000);
                    doc = new HtmlWeb().Load(topicUrl);
                    if (string.IsNullOrEmpty(doc.ParsedText))
                    {
                        return(false);
                    }
                }

                await _gumTreeService.CreateAsync(CreateTopic(topicUrl, doc));

                return(true);
            }
            catch (Exception ex)
            {
                _logger.LogError($"Nie udało się pobrać ogłoszenia próba 1: {topicUrl}", ex.Message);
                return(false);
            }
        }