public JsonResult actualizar(int idProyecto)
        {
            string token     = Request.Headers["X-AUTH-TOKEN"];
            string resultado = "";

            if (Request.HttpMethod == "POST")
            {
                if (token != null)
                {
                    Sesion sesionActual = getSesionByToken(token);

                    if (sesionActual != null)
                    {
                        string   error    = "";
                        Proyecto proyecto = serviceProyecto.getById(idProyecto, ref error);

                        if (proyecto.usuario_creador.id_usuario != sesionActual.usuario_logueado.id_usuario)
                        {
                            List <Rol> rolesUsuarioLogueado = serviceRol.getByIdUser(sesionActual.usuario_logueado.id_usuario, ref resultado);
                            bool       esAdministrador      = false;
                            foreach (var rol in rolesUsuarioLogueado)
                            {
                                if (rol.id_rol == 1)
                                {
                                    esAdministrador = true;
                                    break;
                                }
                            }
                            if (!esAdministrador)
                            {
                                error = "Usted no tiene permiso sobre este proyecto.";
                            }
                        }

                        if (!string.IsNullOrEmpty(error))
                        {
                            return(Json(new { Error = true, Mensaje = error }, JsonRequestBehavior.AllowGet));
                        }

                        if (proyecto.id_proyecto > 0)
                        {
                            Request.InputStream.Seek(0, SeekOrigin.Begin);
                            string  jsonData    = new StreamReader(Request.InputStream).ReadToEnd();
                            dynamic objProyecto = JsonConvert.DeserializeObject(jsonData, typeof(object));

                            proyecto.nombre             = objProyecto.nombre;
                            proyecto.descripcion        = objProyecto.descripcion;
                            proyecto.urlTesting         = objProyecto.urlTesting;
                            proyecto.urlProduccion      = objProyecto.urlProduccion;
                            proyecto.fecha_ultima_modif = DateTime.Now;

                            serviceProyecto.actualizar(proyecto, ref resultado);
                        }
                        if (string.IsNullOrEmpty(resultado))
                        {
                            return(Json(proyecto, JsonRequestBehavior.AllowGet));
                        }
                    }
                    else
                    {
                        resultado = "No se encontró una sesión activa";
                    }
                }
                else
                {
                    resultado = "token no válido";
                }
            }

            return(Json(new { Error = true, Mensaje = resultado }, JsonRequestBehavior.AllowGet));
        }