public async Task <IActionResult> AddClassTaskAsync([FromBody] ClassVO classVO, [FromServices] CollabAPIService collabAPIService) { if (ModelState.IsValid) { 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 _classBusiness.FindByURITaskAsync(classVO.URI) is ClassVO) { return(Conflict("Ja existe uma sala com esse link")); } if (!await collabAPIService.GetClassInfoTaskAsync(classVO)) { return(NotFound("Não foi possivel encontrar as informações da sala informada, verifique se o link está correto!")); } if (await _classBusiness.AddTasAsync(classVO) is ClassVO addedClass) { return(Created($"/Classes/{addedClass.ClassId}", addedClass)); } return(BadRequest("Não possivel adicionar a sala, verifique se os campos estao corretos.")); } return(BadRequest()); }