public async Task <IActionResult> AddStudentTaskAsync([FromBody] StudentVO newStudent) { if (ModelState.IsValid) { var coordId = Guid.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value); if (await _courseBusiness.FindByCoordIdTaskAsync(coordId) is CourseVO course) { if (course.CourseId != newStudent.CourseId) { return(Unauthorized("Você não tem permissão para atualizar informações de um aluno de outro curso!")); } } if (string.IsNullOrEmpty(newStudent.Name)) { return(BadRequest("É necessario informar o nome!")); } if (string.IsNullOrEmpty(newStudent.Email)) { return(BadRequest("É necessario informar o email!")); } if (await _studentBusiness.ExistsByEmailTaskAsync(newStudent.Email)) { return(Conflict("Ja existe um aluno com esse email!")); } if (string.IsNullOrEmpty(newStudent.Disciplines)) { return(BadRequest("É preciso informar pelo menos uma disciplina!")); } if (await _studentBusiness.AddTaskAsync(newStudent) is StudentDisciplineVO createdStudent) { return(Created("/students", createdStudent)); } return(BadRequest("O formato das disciplinas do estudante não está valida (guid;guid;guid)")); } return(BadRequest()); }