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)); }