public IActionResult Create(Juego juego, Guid[] generoIds) { if (ModelState.IsValid) { juego.Id = Guid.NewGuid(); foreach (Guid generoId in generoIds) { var juegoGenero = new JuegoGenero() { Id = Guid.NewGuid(), GeneroId = generoId, JuegoId = juego.Id }; _context.Add(juegoGenero); } _context.Add(juego); _context.SaveChanges(); return(RedirectToAction(nameof(Index))); } ViewData["CategoriaId"] = new SelectList(_context.Categorias, "Id", "Descripcion", juego.CategoriaId); ViewData["ConsolaId"] = new SelectList(_context.Consolas, "Id", "Descripcion", juego.ConsolaId); ViewData[nameof(Genero)] = new MultiSelectList(_context.Generos, nameof(Genero.Id), nameof(Genero.Descripcion), generoIds); return(View(juego)); }
public async Task <IActionResult> Edit(Guid id, Juego juego, Guid[] generoIds) { if (id != juego.Id) { return(NotFound()); } if (ModelState.IsValid) { try { var juegoDb = _context.Juegos .Include(juego => juego.Generos) .FirstOrDefault(juego => juego.Id == id); juegoDb.Generos.Clear(); foreach (Guid generoId in generoIds) { var juegoGenero = new JuegoGenero() { Id = Guid.NewGuid(), GeneroId = generoId, JuegoId = id }; _context.Add(juegoGenero); } juegoDb.AnioLanzamiento = juego.AnioLanzamiento; juegoDb.CategoriaId = juego.CategoriaId; juegoDb.ConsolaId = juego.ConsolaId; juegoDb.PrecioOriginal = juego.PrecioOriginal; juegoDb.Stock = juego.Stock; juegoDb.Titulo = juego.Titulo; await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!JuegoExists(juego.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["CategoriaId"] = new SelectList(_context.Categorias, "Id", "Descripcion", juego.CategoriaId); ViewData["ConsolaId"] = new SelectList(_context.Consolas, "Id", "Descripcion", juego.ConsolaId); return(View(juego)); }