public async Task Update(Category category, Mod mod) { var collection = GetCollectionForCategory(category); collection[collection.IndexOf(collection.First(m => m.Id == mod.Id))] = mod; await Save(); }
public async Task Remove(Category category, Mod mod) { var collection = GetCollectionForCategory(category); collection.Remove(collection.First(m => m.Id == mod.Id)); await Save(); }
private ObservableCollection <Mod> GetCollectionForCategory(Category category) { switch (category) { default: case Category.Level: return(Levels); case Category.Character: return(Characters); case Category.Mod: return(Mods); case Category.Script: return(Scripts); } }
public Mod Find(Category category, ReleaseInfo info) => GetCollectionForCategory(category).FirstOrDefault(mod => info.Id == mod.Id);
public async Task Add(Category category, Mod mod) { GetCollectionForCategory(category).Add(mod); await Save(); }
public bool AlreadyContains(Category category, ReleaseInfo release) => GetCollectionForCategory(category).Any(mod => mod.Id == release.Id);
public bool Contains(Category category, int id) => GetCollectionForCategory(category).Any(mod => mod?.Id == id);
public bool Contains(Category category, Release release) => GetCollectionForCategory(category).Any(mod => mod?.Id == release.Id);