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