public JsonResult getById(int idProyecto) { string token = Request.Headers["X-AUTH-TOKEN"]; string resultado = ""; if (Request.HttpMethod == "GET") { 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)); } 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)); }
public JsonResult updateRoles() { string resultado = ""; if (Request.HttpMethod == "POST") { try { string token = Request.Headers["X-AUTH-TOKEN"]; if (!string.IsNullOrEmpty(token)) { SesionService sesionService = new SesionService(); Sesion sesionActual = sesionService.getByToken(token, ref resultado); if (sesionActual != null) { List <Rol> rolesUsuario = serviceRol.getByIdUser(sesionActual.usuario_logueado.id_usuario, ref resultado); foreach (var rol in rolesUsuario) { if (rol.id_rol == 1) { Request.InputStream.Seek(0, SeekOrigin.Begin); string jsonData = new StreamReader(Request.InputStream).ReadToEnd(); dynamic objUsuario = JsonConvert.DeserializeObject(jsonData, typeof(object)); int idUserActualizable = objUsuario.roles.idUser; Entidades.Usuario user = serviceUsuario.getById(idUserActualizable, ref resultado); if (user.id_usuario > 0) { List <Rol> rolesAAsignar = new List <Rol>(); bool administrador = objUsuario.roles.administrador; bool creador = objUsuario.roles.creador; bool analista = objUsuario.roles.analista; bool desarrollador = objUsuario.roles.desarrollador; bool evaluador = objUsuario.roles.evaluador; bool implementador = objUsuario.roles.implementador; if (administrador) { rolesAAsignar.Add(new Rol { id_rol = 1 }); } if (creador) { rolesAAsignar.Add(new Rol { id_rol = 2 }); } if (analista) { rolesAAsignar.Add(new Rol { id_rol = 3 }); } if (desarrollador) { rolesAAsignar.Add(new Rol { id_rol = 4 }); } if (evaluador) { rolesAAsignar.Add(new Rol { id_rol = 5 }); } if (implementador) { rolesAAsignar.Add(new Rol { id_rol = 6 }); } user.roles = new List <Rol>(); user.roles.AddRange(rolesAAsignar); serviceUsuario.updateRoles(user, ref resultado); } } } } } } catch (Exception ex) { resultado = ex.Message; } } return(Json(new { Error = true, Mensaje = resultado }, JsonRequestBehavior.AllowGet)); }