Beispiel #1
0
        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);
        }
Beispiel #2
0
        public async Task <ActionResult <GetRuleTestModel> > Test([FromBody] RuleTestModel model)
        {
            var result = await _ruleService.TestAsync(model, _cancellationToken);

            return(Ok(result));
        }