Ejemplo n.º 1
0
        public async Task <int> InsertCourseAsync(CourseDto courseDto)
        {
            await _dbLogService.LogMessageAsync("Adding course");

            Course entity = new Course();

            CopyDataCourse(courseDto, entity);

            await _dbContext.AddAsync(entity);

            await _dbContext.SaveChangesAsync();

            courseDto.Id = entity.Id;
            await UpdateCourseAsync(courseDto);

            return(courseDto.Id);
        }
Ejemplo n.º 2
0
        public async Task <CourseInstanceDto> StartCourseAsync(int courseId)
        {
            Course courseEntity = await _dbContext.FindAsync <Course>(courseId);

            CranUser cranUserEntity = await _userService.GetOrCreateCranUserAsync();

            await _dbLogService.LogMessageAsync($"Starting course {courseId}. Name: {courseEntity.Title}");

            CourseInstance courseInstanceEntity = new CourseInstance
            {
                User     = cranUserEntity,
                Course   = courseEntity,
                IdCourse = courseId,
            };

            await _dbContext.AddAsync(courseInstanceEntity);

            await _dbContext.SaveChangesAsync();

            CourseInstanceDto result = await GetNextQuestion(courseInstanceEntity);

            return(result);
        }
Ejemplo n.º 3
0
        public async Task <int> InsertQuestionAsync(QuestionDto questionDto)
        {
            await _dbLogService.LogMessageAsync("Adding question");

            Container container = new Container();

            _dbContext.Containers.Add(container);
            Question questionEntity = new Question();

            questionDto.QuestionType = questionDto.QuestionType == QuestionType.Unknown ?
                                       QuestionType.MultipleChoice : questionDto.QuestionType;
            CopyDataQuestion(questionDto, questionEntity);
            questionEntity.User = await _userService.GetOrCreateCranUserAsync();

            questionEntity.Container = container;
            await _dbContext.AddAsync(questionEntity);

            await _dbContext.SaveChangesAsync();

            questionDto.Id = questionEntity.Id;
            await UpdateQuestionAsync(questionDto);

            return(questionEntity.Id);
        }