public JsonResult logout()
        {
            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)
                        {
                            sesionService.delete(sesionActual);
                        }
                    }
                }
                catch (Exception ex)
                {
                    resultado = ex.Message;
                }
            }

            return(Json(new { Error = true, Mensaje = resultado }, JsonRequestBehavior.AllowGet));
        }
        public JsonResult getUsers()
        {
            string resultado = "";

            if (Request.HttpMethod == "GET")
            {
                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> roles = serviceRol.getByIdUser(sesionActual.usuario_logueado.id_usuario, ref resultado);

                            if (roles.Count > 0)
                            {
                                foreach (var rol in roles)
                                {
                                    if (rol.id_rol == 1)
                                    {
                                        //Si tiene el rol 1 quiere decir que es administrador
                                        List <Entidades.Usuario> usuarios = serviceUsuario.getAll(ref resultado);

                                        List <UsuarioWeb> usuariosWeb = MapearListUsuarioWeb(usuarios);
                                        return(Json(usuariosWeb, JsonRequestBehavior.AllowGet));
                                    }
                                }

                                resultado = "Usted no tiene permisos de administrador.";
                            }
                        }
                        else
                        {
                            resultado = "Token no vĂ¡lido";
                        }
                    }
                }
                catch (Exception ex)
                {
                    resultado = ex.Message;
                }
            }

            return(Json(new { Error = true, Mensaje = resultado }, JsonRequestBehavior.AllowGet));
        }
Example #3
0
        //
        // GET: /Generic/

        public Sesion getSesionByToken(string token)
        {
            SesionService serviceSesion = new SesionService();

            string respuesta = "";

            Sesion sesion = serviceSesion.getByToken(token,ref respuesta);

            if(!string.IsNullOrEmpty(respuesta) || sesion == null)
            {
                return null;
            }
            else
            {
                return sesion;
            }
        }
        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));
        }