コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }