public async Task <IActionResult> RegistrarInventario(EquipoInventario equipoInventario)
        {
            if (ModelState.IsValid)
            {
                Equipo equipo = new Equipo
                {
                    nombre      = equipoInventario.nombre,
                    marca       = equipoInventario.marca,
                    idCategoria = equipoInventario.idCategoria,
                    codigo      = equipoInventario.codigo,
                    descripcion = equipoInventario.descripcion,
                    imagen      = equipoInventario.imagen
                };
                Inventario inventario = new Inventario
                {
                    fechaEntrada   = equipoInventario.fechaEntrada,
                    SKU            = equipoInventario.SKU,
                    cantidadReal   = equipoInventario.cantidadReal,
                    cantidadMaxima = equipoInventario.cantidadMaxima,
                    cantidadMinima = equipoInventario.cantidadMinima,
                    precioUnit     = equipoInventario.precioUnit
                };

                _context.Equipo.Add(equipo);
                inventario.idEquipo = equipo.idEquipo;
                _context.Inventario.Add(inventario);
                await _context.SaveChangesAsync();

                return(RedirectToAction("MenuInventario", "Inventario"));
            }
            ViewData["idCategoria"] = new SelectList(_context.Categoria, "IdCategoria", "nombre", equipoInventario.idCategoria);
            return(View(equipoInventario));
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> RegistrarEquipoInventario(EquipoInventario equipoInventario)
        {
            if (CodigoExists(equipoInventario.codigo))
            {
                ModelState.AddModelError(string.Empty, "El código ingresado ya se encuentra registrado.");
                ViewData["codVal"] = "is-invalid";
            }
            if (NombreExists(equipoInventario.nombre) && MarcaExists(equipoInventario.marca))
            {
                ModelState.AddModelError(string.Empty, "Los datos del equipo ingresado ya se encuentran registrados.");
                ViewData["nomVal"] = "is-invalid";
                ViewData["marVal"] = "is-invalid";
            }
            if (SKUExists(equipoInventario.SKU))
            {
                ModelState.AddModelError(string.Empty, "El SKU ingresado ya existe, intente otro por favor.");
                ViewData["skuVal"] = "is-invalid";
            }
            if (equipoInventario.cantidadMaxima < equipoInventario.cantidadMinima)
            {
                ModelState.AddModelError(string.Empty, "El inventario máximo es incorrecto.");
                ViewData["maxVal"] = "is-invalid";
            }
            if (equipoInventario.cantidadMinima > equipoInventario.cantidadMaxima)
            {
                ModelState.AddModelError(string.Empty, "El inventario mínimo es incorrecto.");
                ViewData["minVal"] = "is-invalid";
            }
            if (equipoInventario.cantidadReal < equipoInventario.cantidadMinima || !(equipoInventario.cantidadReal <= equipoInventario.cantidadMaxima))
            {
                ModelState.AddModelError(string.Empty, "La cantidad está fuera de los rangos permitidos.");
                ViewData["cantVal"] = "is-invalid";
            }
            if (equipoInventario.precioUnit <= 0)
            {
                ModelState.AddModelError(string.Empty, "El precio unitario no puede ser negativo.");
                ViewData["precioVal"] = "is-invalid";
            }
            if (ModelState.IsValid)
            {
                Equipo equipo = new Equipo
                {
                    nombre      = equipoInventario.nombre,
                    marca       = equipoInventario.marca,
                    idCategoria = equipoInventario.idCategoria,
                    codigo      = equipoInventario.codigo,
                    descripcion = equipoInventario.descripcion,
                    imagen      = equipoInventario.imagen
                };
                Inventario inventario = new Inventario
                {
                    fechaEntrada   = equipoInventario.fechaEntrada,
                    SKU            = equipoInventario.SKU,
                    cantidadReal   = equipoInventario.cantidadReal,
                    cantidadMaxima = equipoInventario.cantidadMaxima,
                    cantidadMinima = equipoInventario.cantidadMinima,
                    precioUnit     = equipoInventario.precioUnit
                };
                _context.Equipo.Add(equipo);
                inventario.idEquipo = equipo.idEquipo;
                inventario.nombre   = equipo.nombre;
                inventario.marca    = equipo.marca;
                _context.Inventario.Add(inventario);
                await _context.SaveChangesAsync();

                return(RedirectToAction("MenuInventario", "Inventario"));
            }
            ViewData["idCategoria"] = new SelectList(_context.Categoria, "IdCategoria", "nombre", equipoInventario.idCategoria);
            return(View(equipoInventario));
        }