private async Task<Content> HandleRepoContent(CollectionVersionDependencyModel x, Collection col, IReadOnlyCollection<CustomRepo> customRepos, Game game) { var repo = customRepos.FirstOrDefault(r => r.HasMod(x.Dependency)); if (repo == null) return null; var repoContent = repo.GetMod(x.Dependency); var mod = new ModRepoContent(x.Dependency, col.GameId, repoContent.Value.GetVersionInfo()); if (repoContent.Value.Dependencies != null) mod.Dependencies = await GetDependencyTree(repoContent, customRepos, game).ConfigureAwait(false); return mod; }
private async Task<Content> ConvertToGroupOrRepoContent(CollectionVersionDependencyModel x, Collection col, IReadOnlyCollection<CustomRepo> customRepos, IEnumerable<GroupContent> groupContent, Game game) { var gc = groupContent.FirstOrDefault( c => c.PackageName.Equals(x.Dependency, StringComparison.CurrentCultureIgnoreCase)); if (gc != null) // TODO: dependencies etc return new ModNetworkGroupContent(gc.Id, gc.PackageName, gc.GameId, gc.Version); return await HandleRepoContent(x, col, customRepos, game).ConfigureAwait(false); }