public async Task <IActionResult> Agregar(VideojuegoVMFormulario formulario)
        {
            if (ModelState.IsValid)
            {
                formulario.Categorias = await _categoriaRepo.ObtenerTodas();

                formulario.Plataformas = await _plataformaRepo.ObtenerTodas();

                formulario.Companias = await _companiaRepo.ObtenerTodas();

                var videojuego = new Videojuego()
                {
                    Titulo      = formulario.Titulo,
                    Descripcion = formulario.Descripcion,
                    ImagenURL   = formulario.ImagenURL,
                    Lanzamiento = formulario.Lanzamiento,
                    Categoria   = formulario.Categorias.FirstOrDefault(x => x.Id == formulario.CategoriaId),
                    Compania    = formulario.Companias.FirstOrDefault(x => x.Id == formulario.CompaniaId),
                    Plataforma  = formulario.Plataformas.First(x => x.Id == formulario.PlataformaId)
                };

                await _videojuegoRepo.Agregar(videojuego);

                return(RedirectToAction("Index"));
            }

            return(View(formulario));
        }
        public async Task <IActionResult> Agregar()
        {
            var formulario = new VideojuegoVMFormulario()
            {
                Categorias  = await _categoriaRepo.ObtenerTodas(),
                Companias   = await _companiaRepo.ObtenerTodas(),
                Plataformas = await _plataformaRepo.ObtenerTodas()
            };

            return(View(formulario));
        }
        public async Task <IActionResult> Actualizar(int id)
        {
            var videojuego = await _videojuegoRepo.ObtenerPorId(id);

            ViewBag.CategoriaSeleccionada  = videojuego.Categoria.Nombre;
            ViewBag.CompaniaSeleccionada   = videojuego.Compania.Nombre;
            ViewBag.PlataformaSeleccionada = videojuego.Plataforma.Nombre;

            var videojuegoAActualizar = new VideojuegoVMFormulario()
            {
                Id          = videojuego.Id,
                Titulo      = videojuego.Titulo,
                Descripcion = videojuego.Descripcion,
                ImagenURL   = videojuego.ImagenURL,
                Lanzamiento = videojuego.Lanzamiento,
                Categorias  = await _categoriaRepo.ObtenerTodas(),
                Companias   = await _companiaRepo.ObtenerTodas(),
                Plataformas = await _plataformaRepo.ObtenerTodas()
            };

            return(View(videojuegoAActualizar));
        }
        public async Task <IActionResult> Actualizar(VideojuegoVMFormulario formulario)
        {
            if (ModelState.IsValid)
            {
                var videojuego = new Videojuego()
                {
                    Id          = formulario.Id,
                    Titulo      = formulario.Titulo,
                    Descripcion = formulario.Descripcion,
                    ImagenURL   = formulario.ImagenURL,
                    Lanzamiento = formulario.Lanzamiento,
                    Compania    = await _companiaRepo.ObtenerPorId(formulario.CompaniaId),
                    Plataforma  = await _plataformaRepo.ObtenerPorId(formulario.PlataformaId),
                    Categoria   = await _categoriaRepo.ObtenerPorId(formulario.CategoriaId)
                };
                await _videojuegoRepo.Actualizar(videojuego);

                return(RedirectToAction("Index"));
            }

            return(View(formulario));
        }