public async Task<IHttpActionResult> PutInventarioCuadre(int id, InventarioCuadre inventarioCuadre) { if (!ModelState.IsValid) { return BadRequest(ModelState); } if (id != inventarioCuadre.Numero) { return BadRequest(); } db.Entry(inventarioCuadre).State = EntityState.Modified; try { await db.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!InventarioCuadreExists(id)) { return NotFound(); } else { throw; } } return StatusCode(HttpStatusCode.NoContent); }
public async Task<IHttpActionResult> PostInventarioCuadre(InventarioCuadre inventarioCuadre) { if (!ModelState.IsValid) { return BadRequest(ModelState); } if ((inventarioCuadre.Producto == "") || (inventarioCuadre.Cantidad <= 0)) { throw new Exception("El producto o la cantidad están sin rellenar"); } // Comprobar si el producto existe Producto productoEncontrado = db.Productos.SingleOrDefault(p => p.Empresa == inventarioCuadre.Empresa && p.Número == inventarioCuadre.Producto); if (productoEncontrado == null) { productoEncontrado = db.Productos.FirstOrDefault(p => p.Empresa == inventarioCuadre.Empresa && p.Estado >= 0 && p.CodBarras == inventarioCuadre.Producto); } if (productoEncontrado == null) { productoEncontrado = db.Productos.FirstOrDefault(p => p.Empresa == inventarioCuadre.Empresa && p.CodBarras == inventarioCuadre.Producto); } if (productoEncontrado == null) { throw new Exception(String.Format("Producto {0} no encontrado", inventarioCuadre.Producto)); } inventarioCuadre.Producto = productoEncontrado.Número; db.InventarioCuadres.Add(inventarioCuadre); try { await db.SaveChangesAsync(); } catch (DbUpdateException) { if (InventarioCuadreExists(inventarioCuadre.Numero)) { return Conflict(); } else { throw; } } return CreatedAtRoute("DefaultApi", new { id = inventarioCuadre.Numero }, inventarioCuadre); }