Beispiel #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 });
        }
Beispiel #2
0
        public Object ClassesByStudent(int studentid)
        {
            Payload payload = BAccount.ConfirmToken(this.Request);

            if (payload == null || payload.rol.Contains(2) || payload.rol.Contains(4) ||
                (payload.rol.Contains(1) && payload.aud != studentid) ||
                (payload.rol.Contains(5) && !BParenting.GetGuardians(studentid).Contains(payload.aud)))
            {
                return(new { result = false, info = "Não autorizado." });
            }

            return(BClass.GetClassesByUser(studentid));
        }
        public Object Remove([FromBody] Parenting parenting)
        {
            Payload payload = BAccount.ConfirmToken(this.Request);

            if (payload == null || (!payload.rol.Contains(3) && !payload.rol.Contains(6)))
            {
                return(new { result = false, info = "Não autorizado." });
            }
            if (!BParenting.RemoveParenting(parenting.GuardianID, parenting.StudentID, payload.aud))
            {
                return(new { result = false, info = "Não foi possível remover o Enc.Educação do Estudante." });
            }
            return(new { result = true });
        }
        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 });
        }
        public Object GetGuardians(int studentid)
        {
            Payload payload = BAccount.ConfirmToken(this.Request);

            if (payload == null || payload.rol.Contains(4) ||
                (payload.rol.Contains(1) && payload.aud != studentid))
            {
                return(new { result = false, info = "Não autorizado." });
            }
            var guardians = BParenting.GetGuardians(studentid);

            if (guardians == null)
            {
                return(new { result = false, info = "Não foram encontrados Enc.Educação do Estudante." });
            }
            if (payload.rol.Contains(5) && !guardians.Contains(payload.aud))
            {
                return(new { result = false, info = "Não autorizado." });
            }
            return(new { result = true, data = guardians });
        }
Beispiel #6
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." });
        }