public IActionResult Editar(ProductosViewModel vm)
        {
            fruteriashopContext context = new fruteriashopContext();

            if (vm.Archivo != null)
            {
                if (vm.Archivo.ContentType != "image/jpeg" || vm.Archivo.Length > 1024 * 1024 * 2)
                {
                    ModelState.AddModelError("", "Debe seleccionar un archivo tipo .jpg menor de 2MB.");
                    CategoriasRepository categoriasRepos = new CategoriasRepository(context);
                    vm.Categorias = categoriasRepos.GetAll();
                    return(View(vm));
                }
            }
            try
            {
                ProductosRepository repos = new ProductosRepository(context);
                var p = repos.Get(vm.Producto.Id);
                if (p != null)
                {
                    p.Nombre       = vm.Producto.Nombre;
                    p.IdCategoria  = vm.Producto.IdCategoria;
                    p.Precio       = vm.Producto.Precio;
                    p.UnidadMedida = vm.Producto.UnidadMedida;
                    p.Descripcion  = vm.Producto.Descripcion;
                    repos.update(p);

                    if (vm.Archivo != null)
                    {
                        FileStream fs = new FileStream(Environment.WebRootPath + "/img_frutas/" + vm.Producto.Id + ".jpg", FileMode.Create);
                        vm.Archivo.CopyTo(fs);
                        fs.Close();
                    }
                }


                return(RedirectToAction("Index"));
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("", ex.Message);
                CategoriasRepository repos = new CategoriasRepository(context);
                vm.Categorias = repos.GetAll();

                return(View(vm));
            }
        }
Exemplo n.º 2
0
 public IActionResult update([FromBody] productoCreate producto)
 {
     if (ModelState.IsValid)
     {
         int idusuario = 0;
         idusuario = (int)HttpContext.Session.GetInt32("idusuario");
         if (idusuario > 0)
         {
             var p = new Productos {
                 Id         = producto.id,
                 nombre     = producto.nombre,
                 codigo     = producto.codigo,
                 marca      = producto.marca,
                 existencia = producto.existencia,
                 modelo     = producto.modelo,
                 imagen     = "",
                 detalle    = producto.detalle
             };
             try{
                 pr.update(p, idusuario);
                 return(StatusCode(StatusCodes.Status200OK, Json(new error {
                     request = 0, response = "Producto Actualizado"
                 })));
             }catch (Exception e) {
                 return(StatusCode(StatusCodes.Status500InternalServerError, Json(
                                       new error {
                     request = 1, response = e.Message
                 }
                                       )));
             }
         }
         else
         {
             return(StatusCode(StatusCodes.Status401Unauthorized,
                               Json(new error {
                 request = 1, response = "Usuario no valido"
             })));
         }
     }
     else
     {
         return(StatusCode(StatusCodes.Status406NotAcceptable,
                           Json(new error {
             request = 1, response = "Parametros no valido"
         })));
     }
 }