public static IEnumerable <DotnetApps> ConvertToDotnetApps(this DotnetApp dotnetApp) { return(dotnetApp.Projects .Select(x => new DotnetApps { Name = x.ProjectFileName.FormatDotnetAppName(), Slug = dotnetApp.Slug, Repo = dotnetApp.Repository, Path = x.ProjectFilePath, SandboxDomain = dotnetApp.SandboxDomain, Url = dotnetApp.Url, DefaultBranch = dotnetApp.DefaultBranch, Primary = dotnetApp.IsPrimary, Deployed = dotnetApp.Deployed, Deprecated = dotnetApp.Deprecated, CreatedAt = dotnetApp.CreatedAt.DateTime, UpdatedAt = dotnetApp.UpdatedAt.DateTime })); }
private async Task <IEnumerable <DotnetAppProjectNuget> > GetOldCsProjProjectNugets(DotnetApp dotnetApp, DotnetAppProjectFile projectFile, string projectFileContent) { var query = "packages.config"; if (!projectFileContent.Contains(query)) { _logger.LogWarning($"{dotnetApp.Repository}/{projectFile.ProjectFilePath} has no packages.config file in csproj!"); return(Enumerable.Empty <DotnetAppProjectNuget>()); } var packagesConfigFile = await SearchFile( "packages.config", "config", dotnetApp.Repository, projectFile.ProjectFilePath.Replace($"/{projectFile.ProjectFileName}", string.Empty)); if (packagesConfigFile == null) { _logger.LogWarning($"{dotnetApp.Repository}/{projectFile.ProjectFilePath} has no packages.config file in repo!"); return(Enumerable.Empty <DotnetAppProjectNuget>()); } var packagesConfigContent = await _githubAccess.GetFileContent(packagesConfigFile.ContentsUrl); var packagesConfigXmlDocument = packagesConfigContent.TryConvertToXDocument(_logger, out bool isPackagesConfigFileContentValid); if (!isPackagesConfigFileContentValid) { _logger.LogError($"{dotnetApp.Repository}/{packagesConfigFile.Path} is not valid!"); return(Enumerable.Empty <DotnetAppProjectNuget>()); } return(packagesConfigXmlDocument.GetPackagesConfigReferences()); }
public static IEnumerable <DotnetAppDotnetNugets> ConvertToDotnetAppDotnetNugetList(this DotnetApp dotnetApp, IEnumerable <DotnetApps> dotnetAppsFromDb, IEnumerable <DotnetNugets> dotnetNugetsFromDb, Logger logger) { var result = new List <DotnetAppDotnetNugets>(); foreach (var project in dotnetApp.Projects) { var dotnetAppsFromDbFiltered = dotnetAppsFromDb .Where(x => x.Repo.Equals(dotnetApp.Repository, StringComparison.OrdinalIgnoreCase) && x.Path.Equals(project.ProjectFilePath, StringComparison.OrdinalIgnoreCase)); if (!dotnetAppsFromDbFiltered.Any()) { logger.LogWarning($"Nuget {dotnetApp.Repository}/{project.ProjectFilePath} not found in Apps Master List."); continue; } foreach (var projectNuget in project.DotnetAppProject.ProjectNugets) { var dotnetNugetsFromDBFiltered = dotnetNugetsFromDb .Where(x => x.Slug.Equals(projectNuget.Name, StringComparison.OrdinalIgnoreCase)); if (!dotnetNugetsFromDBFiltered.Any()) { logger.LogWarning($"Nuget {projectNuget.Name} not found in Nugets Master List."); continue; } result.Add(new DotnetAppDotnetNugets { DotnetAppId = dotnetAppsFromDbFiltered.First().Id, DotnetNugetId = dotnetNugetsFromDBFiltered.First().Id, Version = GetVersionFroMetadatasource(projectNuget.Version, dotnetNugetsFromDBFiltered.First().GetVersions()) }); } } return(result); }