public ActionResult Create(BattleCreate model) { if (!ModelState.IsValid) { return(View(model)); } var svc = CreateBattleService(); if (svc.CreateBattle(model)) { TempData["SaveResult"] = "Your Battle is set! May the best character win!"; return(RedirectToAction("Index")); } ; ModelState.AddModelError("", "Battle was unable to be created, please try again"); ViewBag.FirstCharacterId = new SelectList(svc.Characters(), "FirstCharacterId", "CharacterName", model.FirstCharacterId); ViewBag.SecondCharacterId = new SelectList(svc.Characters(), "SecondCharacterId", "CharacterName", model.SecondCharacterId); ViewBag.FirstItemId = new SelectList(svc.Items(), "FirstItemId", "ItemName", model.FirstItemId); ViewBag.SecondItemId = new SelectList(svc.Items(), "SecondItemId", "ItemName", model.SecondItemId); return(View(model)); }
public bool CreateBattle(BattleCreate model) { Random winner = new Random(); var outcome = winner.Next(0, 100); if (outcome < 50) { model.WinnerCharacterId = model.FirstCharacterId; } else { model.WinnerCharacterId = model.SecondCharacterId; } var entity = new Battle() { OwnerId = _userId, Location = model.Location, FirstCharacterId = model.FirstCharacterId, SecondCharacterId = model.SecondCharacterId, FirstItemId = model.FirstItemId, SecondItemId = model.SecondItemId, BattleName = model.BattleName, WinnerCharacterId = model.WinnerCharacterId }; using (var ctx = new ApplicationDbContext()) { ctx.Battles.Add(entity); return(ctx.SaveChanges() == 1); } }