コード例 #1
0
ファイル: BattleController.cs プロジェクト: gngo2018/FCT
        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));
        }
コード例 #2
0
        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);
            }
        }