Example #1
0
        public Object Detail(int userid)
        {
            Payload payload = BAccount.ConfirmToken(this.Request);

            if (payload == null)
            {
                return(new { result = false, info = "Não autorizado." });
            }
            if (payload.aud != userid)
            {
                if (!payload.rol.Contains(3) && !payload.rol.Contains(6))
                {
                    if (!payload.rol.Contains(5) || (payload.rol.Contains(5) && !BParenting.GetChildren(payload.aud).Contains(userid)))
                    {
                        return(new { result = false, info = "Não autorizado." });
                    }
                }
            }
            var user = BUser.GetUserDetails(userid);

            if (user == null)
            {
                return(new { result = false, info = "Utilizador não encontrado." });
            }
            return(new { result = true, data = user });
        }
        public Object GetChildren(int guardianid)
        {
            Payload payload = BAccount.ConfirmToken(this.Request);

            if (payload == null || payload.rol.Contains(4) ||
                (payload.rol.Contains(5) && guardianid != payload.aud))
            {
                return(new { result = false, info = "Não autorizado." });
            }
            var children = BParenting.GetChildren(guardianid);

            if (children == null)
            {
                return(new { result = false, info = "Não foram encontrados educandos." });
            }
            if (payload.rol.Contains(1) && !children.Contains(payload.aud))
            {
                return(new { result = false, info = "Não autorizado." });
            }
            return(new { result = true, data = children });
        }
Example #3
0
        public Object Put([FromBody] User user)
        {
            Payload payload = BAccount.ConfirmToken(this.Request);

            if (payload == null)
            {
                return(new { result = false, info = "Não autorizado." });
            }
            if (payload.aud != user.ID || (payload.aud == user.ID && payload.rol.Contains(1)))
            {
                if ((!payload.rol.Contains(3) && !payload.rol.Contains(6)) || (payload.rol.Contains(3) && (user.RoleID == 3 || user.RoleID == 6)))
                {
                    if (!payload.rol.Contains(5) || (payload.rol.Contains(5) && !BParenting.GetChildren(payload.aud).Contains(user.ID)))
                    {
                        return(new { result = false, info = "Não autorizado." });
                    }
                }
            }
            if (BUser.EditUser(user, payload.aud))
            {
                return(new { result = true });
            }
            return(new { result = false, info = "Não foi possível alterar dados do utilizador." });
        }