public async Task <IActionResult> RemoveClassTaskAsync([Required] Guid classId, [FromServices] IDisciplineBusiness disciplineBusiness) { if (ModelState.IsValid) { if (!(await _classBusiness.FindByClassIdTaskAsync(classId) is ClassVO classVO)) { return(NotFound("Não foi possivel encontrar a sala informada!")); } var coordId = Guid.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value); if (await _courseBusiness.FindByCoordIdTaskAsync(coordId) is CourseVO course) { if (course.CourseId != classVO.CourseId) { return(Unauthorized("Você não tem permissão para adicionar salas em outro curso!")); } } if (await disciplineBusiness.ExistsByClassIdTaskAsync(classId)) { return(BadRequest("Não é possivel excluir a sala, pois existem disciplinas utilizando-a!")); } await _classBusiness.RemoveAsync(classVO.ClassId); return(NoContent()); } return(BadRequest()); }