private List <Monster> GetAllMonsters() { List <Monster> monsters = null; FileIoStatus = FileIoMessage.None; if (_xmlBool) { try { using (MonstersRepository monstersRepository = new MonstersRepository()) { monsters = monstersRepository.GetAll() as List <Monster>; }; if (monsters != null) { FileIoStatus = FileIoMessage.Complete; } else { FileIoStatus = FileIoMessage.NoRecordsFound; } } catch (Exception) { FileIoStatus = FileIoMessage.FileAccessError; } } else { monsters = MonsterSeedData.GenerateListOfMonsters(); } return(monsters); }
public ActionResult Index() { using (var db = MonstersRepository.Get()) { return(View(new Tuple <IEnumerable <string>, IEnumerable <Monster> >(db.Categories, db.Monsters))); } }
private Monster GetMonster(int id) { Monster monster = null; FileIoStatus = FileIoMessage.None; try { using (MonstersRepository monstersRepository = new MonstersRepository()) { monster = monstersRepository.GetById(id); }; if (monster != null) { FileIoStatus = FileIoMessage.Complete; } else { FileIoStatus = FileIoMessage.RecordNotFound; } } catch (Exception) { FileIoStatus = FileIoMessage.FileAccessError; } return(monster); }
public ActionResult List() { using (var db = MonstersRepository.Get()) { return(View("List", Tuple.Create(db.Monsters.AsEnumerable(), ""))); } }
public ViewResult Search(string query, AdvancedSearchOptions opt) { var q = (query ?? "").Trim().ToLower(); var options = opt ?? new AdvancedSearchOptions(); IEnumerable <Monster> results; if (string.IsNullOrWhiteSpace(query)) { results = null; } else { var categories = options.Categories ?? new string[0]; results = MonstersRepository.Get().Monsters .Where(m => (m.Name.ToLower().Contains(q) || m.Description.ToLower().Contains(q)) && (!options.IsDangerous || m.IsDangerous) && (categories.All(cat => m.Categories.Contains(cat)))); } this.ViewBag.AllCategories = MonstersRepository.Get().Categories; return(View("Search", new SearchFormModel() { SearchString = q, Options = options, Results = results })); }
public ActionResult ListCategory(string category) { using (var db = MonstersRepository.Get()) { var monstersInCategory = db.Monsters.Where(m => m.Categories.Contains(category)); return(View("List", Tuple.Create(monstersInCategory, category))); } }
public ActionResult ShowExisting(int id) { using (var db = MonstersRepository.Get()) { var monster = db.Monsters.FirstOrDefault(m => m.Id == id); if (monster == null) { return(HttpNotFound("Cannot find monster " + id)); } return(MonsterView(monster)); } }
public ActionResult Delete(int id) { using (var db = MonstersRepository.Get()) { var monster = db.Monsters.FirstOrDefault(m => m.Id == id); if (monster != null) { db.Monsters.Remove(monster); } } return(this.RedirectTo(SiteUrls.MonsterList)); }
public ActionResult SaveNewOrExisting(int?id, Monster monster) { if (!this.ModelState.IsValid) { return(MonsterView(monster)); } using (var db = MonstersRepository.Get()) { // 'Add' works here even if it already exists in the collection--SaveChanges fixes things up. // (It's not a real application anyway:) Use the correct data access type shenanigans for your app. db.Monsters.Add(monster); db.SaveChanges(); } return(this.RedirectTo(SiteUrls.MonsterDetail[monster.Id])); }
public void AddMonster(Monster monster) { try { if (monster != null) { using (MonstersRepository monstersRepository = new MonstersRepository()) { monstersRepository.Add(monster); }; FileIoStatus = FileIoMessage.Complete; } } catch (Exception) { FileIoStatus = FileIoMessage.FileAccessError; } }
public void DeleteMonster(int id) { try { if (GetMonster(id) != null) { using (MonstersRepository repo = new MonstersRepository()) { repo.Delete(id); } FileIoStatus = FileIoMessage.Complete; } else { FileIoStatus = FileIoMessage.RecordNotFound; } } catch (Exception) { FileIoStatus = FileIoMessage.FileAccessError; } }
public void UpdateMonster(Monster updatedMonster) { try { if (GetMonster(updatedMonster.Id) != null) { using (MonstersRepository repo = new MonstersRepository()) { repo.Update(updatedMonster); } FileIoStatus = FileIoMessage.Complete; } else { FileIoStatus = FileIoMessage.RecordNotFound; } } catch (Exception) { FileIoStatus = FileIoMessage.FileAccessError; } }
public ViewResult MonsterView(Monster monster) { this.ViewBag.AllCategories = MonstersRepository.Get().Categories; return(View("Detail", monster)); }