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); } }