Esempio n. 1
0
        public async Task <IActionResult> DeleteStudentTaskAsync([Required] Guid studentId)
        {
            if (ModelState.IsValid)
            {
                var coordId = Guid.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value);

                if (!(await _studentBusiness.FindByStudentIdTaskAsync(studentId) is StudentDisciplineVO studentVO))
                {
                    return(NotFound("Não existe um aluno com esse Id"));
                }

                if (await _courseBusiness.FindByCoordIdTaskAsync(coordId) is CourseVO course)
                {
                    if (course.CourseId != studentVO.Student.CourseId)
                    {
                        return(Unauthorized("Você não tem permissão para deletar um aluno de outro curso!"));
                    }
                }

                await _studentBusiness.DeleteTaskAsync(studentVO.Student.StudentId);

                return(NoContent());
            }

            return(BadRequest());
        }