public LessonBusiness(ILessonRepository lessonRepository, IDisciplineBusiness disciplineBusiness, CollabAPIService collabAPIService) { _lessonRepository = lessonRepository; _disciplineBusiness = disciplineBusiness; _collabAPIService = collabAPIService; _lessonConverter = new LessonConverter(); _lessonDisciplineConverter = new LessonDisciplineConverter(); _disciplineConverter = new DisciplineConverter(); }
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()); }
public async Task <IActionResult> UptadeClassTaskAsync([FromBody] ClassVO newClass, [FromServices] CollabAPIService collabAPIService) { if (ModelState.IsValid) { if (!(await _classBusiness.FindByClassIdTaskAsync(newClass.ClassId) is ClassVO classVO)) { return(NotFound("Não existe nenhuma sala com o Id informado")); } var coordId = Guid.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value); if (await _courseBusiness.FindByCoordIdTaskAsync(coordId) is CourseVO course) { if (course.CourseId != newClass.CourseId) { return(Unauthorized("Você não tem permissão para adicionar salas em outro curso!")); } } if (await _classBusiness.FindByURITaskAsync(newClass.URI) is ClassVO currentCourse) { if (currentCourse.ClassId != newClass.ClassId) { return(Conflict("Ja existe uma sala com este link")); } } if (!await collabAPIService.GetClassInfoTaskAsync(newClass)) { return(NotFound("Não foi possivel encontrar as informações da sala informada, verifique se o link está correto!")); } if (await _classBusiness.UpdateTaskAsync(newClass) is ClassVO updatedClass) { return(Created($"/Classes/{updatedClass.ClassId}", updatedClass)); } return(BadRequest("Não foi possivel atualizar as informações, verifique se informou os valores corretamente!")); } return(BadRequest()); }