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")); } }
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); }