Esempio n. 1
0
        public ActionResult Actualizar(Product product)
        {
            Product productoExistente = null;

            try
            {
                // obtener el producto de BD
                productoExistente = _context.Products.Find(product.ProductId);
            }
            catch (System.Exception)
            {
                return(BadRequest("No se pudo obtener la información del producto existente"));
            }


            // si no existe, devolver un error
            if (productoExistente == null)
            {
                return(BadRequest("El producto no existe"));
            }

            productoExistente.ProductName = product.ProductName == null ? productoExistente.ProductName : product.ProductName;
            // productoExistente.Discontinued = product.Discontinued;
            productoExistente.State        = product.State;
            productoExistente.UnitPrice    = product.UnitPrice;
            productoExistente.UnitsInStock = product.UnitsInStock;

            try
            {
                var resultado = _context.Commit();

                return(Ok(resultado));
            }
            catch (System.Exception ex)
            {
                // log del error (ex)
                return(BadRequest("Ocurrió un error al tratar de grabar en BD"));
            }
        }
Esempio n. 2
0
        public bool RegistrarProducto(Product nuevoProducto)
        {
            // validaciones
            if (string.IsNullOrEmpty(nuevoProducto.ProductName))
            {
                return(false);
            }


            // fluent syntax
            var productsWithSameName = _viveroContext.Products.Where(p => p.ProductName.ToUpper() == nuevoProducto.ProductName.ToUpper());

            if (productsWithSameName.Count() > 0)
            {
                // significa que existen productos registrados que tienen el mismo nombre que el que se desea registrar
                return(false);
            }


            // agregar el proucto a BD
            _viveroContext.Products.Add(nuevoProducto);

            return(_viveroContext.Commit() > 0);
        }