Example #1
0
        public async Task <bool> Handle(MarkAsFakeCommand request, CancellationToken cancellationToken)
        {
            var uri = new Uri(request.UrlToMark.Contains("\"") ? request.UrlToMark.Replace("\"", string.Empty) : request.UrlToMark);

            if (await dbService.IsVerifiedDomainAsync(uri.Host))
            {
                return(false); // can not be added as fake becouse domain is verified
            }

            var formatted = HtmlHelper.FormatHtml(request.InnerHtml, "div");

            if (formatted.Length == 0)
            {
                formatted = request.InnerHtml;
            }

            var result = await dbService.AddFakeUrlAsync(uri.AbsoluteUri, formatted, request.FakeReasons);

            await esService.InsertToIndexAsync(new FakeNewsCovidIndex
            {
                Id         = result.Id,
                Fakebility = result.Fakebility,
                Body       = formatted,
                Url        = uri.AbsoluteUri
            });

            return(true);
        }