Exemplo n.º 1
0
        public async Task <IActionResult> DeleteCharacter()
        {
            var optionsBuilder = new DbContextOptionsBuilder <AmarathContext>();
            var db             = new AmarathContext(optionsBuilder.Options);
            var cUser          = await userManager.GetUserAsync(User);

            var cChar       = db.Characters.First(x => x.UserId == cUser.Id);
            var inventories = from i in db.Inventories select i;

            foreach (Inventory inv in inventories)
            {
                if (inv.CharID == cChar.CharId)
                {
                    db.Inventories.Remove(inv);
                }
            }
            //Absolutly brutal
            db.Characters.Remove(cChar);
            db.SaveChanges();

            HttpContext.Session.Remove("Dialog");
            HttpContext.Session.Remove("Action");
            HttpContext.Session.Remove("Choices");

            return(RedirectToAction("Death", "Game"));
        }
Exemplo n.º 2
0
        public async Task <ActionResult> CreateCharacterAsync(CharacterViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                var optionsBuilder = new DbContextOptionsBuilder <AmarathContext>();
                var db             = new AmarathContext(optionsBuilder.Options);
                var cUser          = await userManager.GetUserAsync(User);

                var character = new Character
                {
                    UserId            = cUser.Id,
                    ClassTypeId       = viewModel.ClassTypeId,
                    Name              = viewModel.Name,
                    Rank              = 1,
                    Strength          = viewModel.Strength,
                    Intelligence      = viewModel.Intelligence,
                    Dexterity         = viewModel.Dexterity,
                    CurrentHealth     = 100,
                    MaxHealth         = 100,
                    Experience        = 0,
                    DungeonLevel      = 0,
                    TotalAttack       = 0,
                    TotalDefense      = 0,
                    TotalDexterity    = viewModel.Dexterity,
                    TotalStrength     = viewModel.Strength,
                    TotalIntelligence = viewModel.Intelligence
                };
                db.Characters.Add(character);
                db.SaveChanges();
                return(RedirectToAction("Index", "Home"));
            }

            return(View(viewModel));
        }