//public async Task<IActionResult> Edit(int id, [Bind("Id,Name,Level,Atk,Def,Health,imageUrl")] Enemy enemy)
        public async Task <IActionResult> Edit(int id, string name, string level, string atk, string def, string health, string enemyImage, List <string> drops, Enemy enemy)
        {
            /*
             * if (id != enemy.Id)
             * {
             *  return NotFound();
             * }
             */
            if (ModelState.IsValid)
            {
                enemy.imageUrl = enemyImage;
                enemy.Id       = id;
                _context.Enemy_has_Item.RemoveRange(_context.Enemy_has_Item.Where(m => m.EnemyId == id));
                await _context.SaveChangesAsync();

                try
                {
                    _context.Update(enemy);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!EnemyExists(enemy.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }

                Enemy_has_Item enemyItem = new Enemy_has_Item();
                foreach (var item in drops)
                {
                    enemyItem.Enemy = enemy;

                    GameData.Models.Item Item = await _context.Items.SingleOrDefaultAsync(m => m.Id == Convert.ToInt32(item));

                    enemyItem.Item = Item;


                    _context.Add(enemyItem);
                    await _context.SaveChangesAsync();
                }



                return(RedirectToAction(nameof(Index)));
            }
            return(View(enemy));
        }
示例#2
0
        public async void create(Enemy enemy, List <string> drops)
        {
            _context.Add(enemy);
            await _context.SaveChangesAsync();

            Enemy_has_Item enemyItem = new Enemy_has_Item();


            foreach (string item in drops)
            {
                enemyItem.Enemy = enemy;
                GameData.Models.Item Item = await _context.Items.SingleOrDefaultAsync(m => m.Id == Convert.ToInt32(item));

                enemyItem.Item = Item;
                _context.Add(enemyItem);
                await _context.SaveChangesAsync();
            }
        }
        //public async Task<IActionResult> Create([Bind("Id,Name,Level,Atk,Def,Health,imageUrl")] Enemy enemy)
        public async Task <IActionResult> Create(string name, string level, string atk, string def, string health, string enemyImage, List <string> drops)
        {
            GameData.Models.Enemy enemy = new Enemy();

            enemy.Name     = name;
            enemy.Level    = Convert.ToInt32(level);
            enemy.Atk      = Convert.ToInt32(atk);
            enemy.Def      = Convert.ToInt32(def);
            enemy.Health   = Convert.ToInt32(health);
            enemy.imageUrl = enemyImage;

            _context.Add(enemy);
            await _context.SaveChangesAsync();


            GameData.Models.Enemy_has_Item enemyItem = new Enemy_has_Item();
            //_enemies.create(enemy, enemyItem, drops);


            foreach (string item in drops)
            {
                enemyItem.Enemy = enemy;
                GameData.Models.Item Item = await _context.Items.SingleOrDefaultAsync(m => m.Id == Convert.ToInt32(item));

                enemyItem.Item = Item;

                _context.Add(enemyItem);
                await _context.SaveChangesAsync();
            }


            if (ModelState.IsValid)
            {
                _context.Add(enemy);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }

            //return View(enemy);
            return(RedirectToAction(nameof(Index)));
        }