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); }
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); }
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); }