public async Task <bool> EnsureSiteFolder(ISiteSettings site) { bool folderExists = await siteRepo.FolderExists(site.SiteFolderName, CancellationToken); if (!folderExists) { List <ISiteFolder> siteFolders = await siteRepo.GetSiteFoldersBySite(site.SiteGuid, CancellationToken); //delete any existing folders before creating a new one foreach (ISiteFolder f in siteFolders) { bool deleted = await siteRepo.DeleteFolder(f.Guid, CancellationToken); } //ensure the current folder mapping SiteFolder folder = new SiteFolder(); folder.FolderName = site.SiteFolderName; folder.SiteGuid = site.SiteGuid; folderExists = await siteRepo.Save(folder, CancellationToken); } return(folderExists); }