private async Task EnsureBuildFoldersAsync(ProjectManifest manifest, Waddle.AdoConnectionFactory factory, Waddle.Dtos.Project project) { if (manifest.BuildFolders != null && manifest.BuildFolders.Any()) { var buildService = factory.GetBuildService(); var buildPaths = await buildService.ListFoldersAsync(project.Id); foreach (var bp in manifest.BuildFolders) { var existingItem = buildPaths.Value .FirstOrDefault(p => p.Path.Replace("\\", "/").Equals(bp.Path, StringComparison.OrdinalIgnoreCase)); if (existingItem == null) { existingItem = await buildService.CreateFolderAsync(project.Id, bp.Path); } Logger.StatusBegin($"Creating permissions {bp.Path}..."); await ProvisionBuildPathPermissionsAsync(factory, project, bp, existingItem); Logger.StatusEndSuccess("Succeed"); } } }