public IHttpActionResult CategoriaEdit(CategoriaModel categoriaModel)
        {
            if (UsuarioModel.Instance.rol != Rol.ADMINISTRADOR && UsuarioModel.Instance.rol != Rol.DEV)
            {
                return(Json(Mensaje <Domain.Entities.Producto.Categoria> .MensajeJson(Constants.IS_ERROR, "No esta autorizado para realizar esta operacion", Constants.NO_AUTH)));
            }


            if (categoriaModel.Categoria == null)
            {
                return(Json(Mensaje <Domain.Entities.Producto.Categoria> .MensajeJson(Constants.IS_ERROR, "Objecto no puede estar vacio", Constants.CATEGORIA_FAIL)));
            }

            if (categoriaModel.ServicioProducto.GetExiste(new ServicioProductoRequest {
                Id = categoriaModel.Categoria.Id, Nombre = categoriaModel.Categoria.Nombre
            }))
            {
                return(Json(Mensaje <Domain.Entities.Producto.Categoria> .MensajeJson(Constants.IS_ERROR, "Nombre Categoria ya existe", Constants.CATEGORIA_FAIL)));
            }

            var categoria = categoriaModel.Find(categoriaModel.Categoria.Id);

            if (categoria != null)
            {
                var factoryCategoria = BuilderFactories.Categoria(categoriaModel.Categoria.Nombre, categoriaModel.Categoria.Descripción, (categoriaModel.Categoria.FechaCreacion.Year < DateTime.Now.Year) ? DateTime.Now : categoriaModel.Categoria.FechaCreacion);
                categoria.Nombre      = factoryCategoria.Nombre;
                categoria.Descripción = factoryCategoria.Descripción;
                if (categoriaModel.Update(categoria))
                {
                    return(Json(Mensaje <Domain.Entities.Producto.Categoria> .MensajeJson(Constants.NO_ERROR, "Categoria Modificada con exito", Constants.CATEGORIA_SUCCES)));
                }
                else
                {
                    return(Json(Mensaje <Domain.Entities.Producto.Categoria> .MensajeJson(Constants.IS_ERROR, "Error al modificar la categoria", Constants.CATEGORIA_FAIL)));
                }
            }
            else
            {
                return(Json(Mensaje <Domain.Entities.Producto.Categoria> .MensajeJson(Constants.IS_ERROR, "Categoria no existe", Constants.CATEGORIA_FAIL)));
            }
        }