コード例 #1
0
 public LessonBusiness(ILessonRepository lessonRepository, IDisciplineBusiness disciplineBusiness, CollabAPIService collabAPIService)
 {
     _lessonRepository          = lessonRepository;
     _disciplineBusiness        = disciplineBusiness;
     _collabAPIService          = collabAPIService;
     _lessonConverter           = new LessonConverter();
     _lessonDisciplineConverter = new LessonDisciplineConverter();
     _disciplineConverter       = new DisciplineConverter();
 }
コード例 #2
0
        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());
        }
コード例 #3
0
        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());
        }