public async Task <GetRuleTestModel> TestAsync(RuleTestModel model, CancellationToken cancellationToken) { var htmlDocument = await _httpClient.GetHtmlDocumentByPageAsync(model.Page, cancellationToken); var rule = model.Rule; var existingRule = _repository.GetAll() .Where(x => x.Site == model.Page) .Select(x => x.Principle) .FirstOrDefault(); var innerText = string.Empty; var result = new GetRuleTestModel { Text = innerText }; if (string.IsNullOrEmpty(rule) && string.IsNullOrEmpty(existingRule)) { return(result); } var temp = htmlDocument.DocumentNode .SelectNodes(rule ?? existingRule); /*var kek*/ innerText = htmlDocument.DocumentNode .SelectNodes(rule ?? existingRule) .Aggregate(innerText, (current, node) => $"{current}{Environment.NewLine}{node?.InnerText}"); result.Text = innerText; return(result); }
public async Task <ActionResult <GetRuleTestModel> > Test([FromBody] RuleTestModel model) { var result = await _ruleService.TestAsync(model, _cancellationToken); return(Ok(result)); }