//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)); }
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))); }