示例#1
0
        public IHttpActionResult PutProducto(Producto producto)
        {
            int id = producto.ID_prod;

            Debug.WriteLine("ID_prod:" + producto.ID_prod);

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            Debug.WriteLine("id:" + id);
            Debug.WriteLine("ID_prod:" + producto.ID_prod);

            if (id != producto.ID_prod)
            {
                return(BadRequest());
            }

            db.Entry(producto).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!ProductoExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }
            return(Ok(producto));
        }
示例#2
0
        public async Task <IActionResult> PutProducto(int id)
        {
            if (!ProductoExists(id))
            {
                return(BadRequest());
            }

            var producto = await _context.Productos.FindAsync(id);

            var valiTitulo = Request.Form.TryGetValue("titulo", out var titulo);
            var valiPrecio = Request.Form.TryGetValue("precio", out var precio);

            precio = precio.ToString().Replace(".", ",");
            var valiDescr   = Request.Form.TryGetValue("descripcion", out var descripcion);
            var valiPrecioP = Decimal.TryParse(precio.ToString(), out var precioD);

            if (!valiTitulo || !valiPrecio || !valiDescr || !valiPrecioP)
            {
                return(BadRequest(new JsonResult("ERROR VALIDACION")));
            }
            producto.ProductName        = titulo;
            producto.ProductPrice       = precioD;
            producto.ProductDescription = descripcion;



            if (Request.Form.Files.Count != 0)
            {
                var file = Request.Form.Files.First();
                if (file != null)
                {
                    try
                    {
                        var actionResult = await _imageHandler.UploadImage(file);

                        var okResult = actionResult as ObjectResult;

                        if (okResult.Value.ToString() == "Tipo de imagen invalido")
                        {
                            return(BadRequest(new JsonResult(okResult.Value)));
                        }
                        else
                        {
                            var path = "/images/products/" + okResult.Value.ToString();
                            producto.ProductImagePath = path;
                        }
                    }
                    catch (Exception)
                    {
                        return(BadRequest(new JsonResult("ERROR")));
                    }
                }
            }
            _context.Productos.Update(producto);

            _context.Entry(producto).State = EntityState.Modified;
            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!ProductoExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    return(BadRequest());
                }
            }
            return(Ok(producto));
        }