示例#1
0
        public async Task <TestDto> TestAllPages(string baseUrl)
        {
            var siteUrl = baseUrl;

            if (siteUrl.Last() != '/')
            {
                siteUrl = siteUrl + '/';
            }

            var urls = await GetPages(siteUrl);

            var site = await repo.GetTestedSiteAsync(siteUrl);

            if (site == null)
            {
                site = new TestedSite
                {
                    Url   = siteUrl,
                    Pages = new List <TestedPage>()
                };

                repo.AddTestedSite(site);

                if (!await repo.SaveAllAsync())
                {
                    throw new Exception("Save error");
                }
            }

            foreach (var item in urls)
            {
                await TestPage(site.Url, item);
            }

            return(mapper.Map <TestDto>(site));
        }