Exemple #1
0
        public ActionResult Add(Character character, int encounterId)
        {
            if (ModelState.IsValid)
            {
                character.EncounterId = encounterId;
                character.Encounter   = _context.Encounters.Where(e => e.Id.Equals(encounterId)).SingleOrDefault();
                character.SetIniativeScore();
                //if added character has a greater iniativeScore than the current character with greatest iniativeScore, then set added character turn to true

                if (_context.Characters.ToList().Count <= 0)
                {
                    character.Turn = true;
                }
                else
                {
                    List <Character> characters = _context.Characters.ToList();
                    if (character.IniativeScore > _context.Characters.OrderByDescending(c => c.IniativeScore).First().IniativeScore)
                    {
                        foreach (Character characterInDB in characters)
                        {
                            characterInDB.Turn = false;
                        }
                        character.Turn = true;
                    }
                }
                _context.Characters.Add(character);
                _context.SaveChanges();
                return(RedirectToAction("Details", "Encounter", new { encounterId }));
            }
            return(PartialView());
        }
Exemple #2
0
        public ActionResult Create(Encounter encounter)
        {
            //consider doing this in encounter controller
            if (String.IsNullOrWhiteSpace(encounter.Name))
            {
                encounter.Name = "Encounter";
            }

            _context.Encounters.Add(encounter);
            _context.SaveChanges();
            return(RedirectToAction("Details", new { encounterId = encounter.Id }));
        }