public static async Task UpdateRepoAsync(string login, Repo repo) { var item = AllRepos.Find(o => o.id == repo.id); if (item == null) { AllRepos.Add(repo); } item = repo; await SaveCategoryReposAsync(login); }
private IEnumerable <TagInfo> GetAllTags() { IEnumerable <ImageInfo> images = AllRepos .SelectMany(repo => repo.AllImages) .ToArray(); IEnumerable <TagInfo> sharedTags = images .SelectMany(image => image.SharedTags); IEnumerable <TagInfo> platformTags = images .SelectMany(image => image.AllPlatforms) .SelectMany(platform => platform.Tags); return(sharedTags .Concat(platformTags)); }
public PlatformInfo GetPlatformByTag(string fullTagName) { PlatformInfo result = AllRepos .SelectMany(repo => repo.AllImages) .SelectMany(image => image.AllPlatforms) .FirstOrDefault(platform => platform.Tags.Any(tag => tag.FullyQualifiedName == fullTagName)); if (result == null) { throw new InvalidOperationException($"Unable to find platform for the tag '{fullTagName}'"); } return(result); }
public static async Task SaveCategoryReposAsync(string user) { var temp = AllRepos.FindAll(x => x.CategoriesId.Length != 0); await BlobCache.LocalMachine.InsertObject <List <Repo> >(CacheKeys.RepositoriesKey, temp); }
public static List <Repo> GetRepoOfCategory(int catId) => AllRepos?.FindAll(obj => obj.CategoriesId.Contains(catId));
public RepoInfo GetRepoById(string id) { return(AllRepos.FirstOrDefault(repo => repo.Id == id)); }
public RepoInfo GetRepoByImage(ImageInfo image) => AllRepos .FirstOrDefault(repoImage => repoImage.AllImages.Contains(image));
public RepoInfo GetRepoByModelName(string name) { return(AllRepos.FirstOrDefault(repo => repo.Model.Name == name)); }
public IEnumerable <ImageInfo> GetAllImages() => AllRepos.SelectMany(repo => repo.AllImages);