コード例 #1
0
        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));
        }
コード例 #2
0
        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));
        }