public ActionResult Edit(int id, BattleEdit model) { var svc = CreateBattleService(); if (!ModelState.IsValid) { return(View(model)); } if (model.BattleId != id) { ModelState.AddModelError("", "Id Mismatch"); return(View(model)); } if (svc.UpdateBattle(model)) { TempData["SaveResult"] = "Your Battle was updated! May the odds ever be in your favor."; return(RedirectToAction("Index")); } ViewBag.FirstCharacterId = new SelectList(svc.Characters(), "FirstCharacterId", "CharacterName", model.FirstCharacterId); ViewBag.SecondCharacterId = new SelectList(svc.Characters(), "SecondCharacterId", "CharacterName", model.SecondCharacterId); ViewBag.WinnerCharacterId = new SelectList(svc.Characters(), "WinnerCharacterId", "CharacterName", model.WinnerCharacterId); ViewBag.FirstItemId = new SelectList(svc.Items(), "FirstItemId", "ItemName", model.FirstItemId); ViewBag.SecondItemId = new SelectList(svc.Items(), "SecondItemId", "ItemName", model.SecondItemId); ModelState.AddModelError("", "Your Battle could not be updated"); return(View(model)); }
//GET: Battle Edit public ActionResult Edit(int id) { var svc = CreateBattleService(); var characterList = new SelectList(svc.Characters(), "CharacterId", "CharacterName"); ViewBag.FirstCharacterId = characterList; ViewBag.SecondCharacterId = characterList; var itemList = new SelectList(svc.Items(), "ItemId", "ItemName"); ViewBag.FirstItemId = itemList; ViewBag.SecondItemId = itemList; var detail = svc.GetBattleById(id); var model = new BattleEdit { BattleId = detail.BattleId, BattleName = detail.BattleName, Location = detail.Location, FirstCharacterId = detail.FirstCharacterId, SecondCharacterId = detail.SecondCharacterId, FirstItemId = detail.FirstItemId, SecondItemId = detail.SecondItemId, WinnerCharacterId = detail.WinnerCharacterId }; return(View(model)); }
public bool UpdateBattle(BattleEdit model) { Random winner = new Random(); var outcome = winner.Next(0, 100); if (outcome < 50) { model.WinnerCharacterId = model.FirstCharacterId; } else { model.WinnerCharacterId = model.SecondCharacterId; } using (var ctx = new ApplicationDbContext()) { var entity = ctx .Battles .Single(e => e.BattleId == model.BattleId && e.OwnerId == _userId); entity.BattleName = model.BattleName; entity.Location = model.Location; entity.FirstCharacterId = model.FirstCharacterId; entity.SecondCharacterId = model.SecondCharacterId; entity.FirstItemId = model.FirstItemId; entity.SecondItemId = model.SecondItemId; entity.WinnerCharacterId = model.WinnerCharacterId; return(ctx.SaveChanges() == 1); } }