public override Task <LearnDto> CreateAsync(LearnCreateUpdateDto input) { input.Level = 0; input.DateofLearn = DateTime.Now; input.DateReview = DateTime.Now.AddHours(4000); return(base.CreateAsync(input)); }
public async Task <LearnDto> UpdateLevelLearningWord(Guid idword, bool b) //dung khi kiem tra review { var wordinput = _repository.FirstOrDefault(x => x.WordId == idword && x.UserId == _currentUser.Id); var lessonlearn = _lessonrepository.FirstOrDefault(x => x.LessonId == wordinput.LessonId && x.UserId == _currentUser.Id); int wordnumber = _lesson_rea_repository.FirstOrDefault(x => x.Id == lessonlearn.LessonId).wordnumber; if (wordinput != null) { LearnCreateUpdateDto input = new LearnCreateUpdateDto(); //input = ObjectMapper.Map<Learn, LearnCreateUpdateDto>(wordinput); input.LessonId = wordinput.LessonId; input.Note = wordnumber.ToString(); input.UserId = wordinput.UserId; input.DateofLearn = wordinput.DateofLearn; input.DateReview = wordinput.DateReview; input.WordId = wordinput.WordId; if (b) { if (wordinput.Level < 6) { input.Level = wordinput.Level + 1; input.DateReview = DateTime.Now.AddHours(4 * input.Level); lessonlearn.Progress = (int)((lessonlearn.Progress * 5 * wordnumber + 100) / (5 * wordnumber)); await _lessonrepository.UpdateAsync(lessonlearn); } } else { if (wordinput.Level > 1) { input.Level = wordinput.Level - 1; lessonlearn.Progress = (int)((lessonlearn.Progress * 5 * wordnumber - 100) / (5 * wordnumber)); await _lessonrepository.UpdateAsync(lessonlearn); } input.DateReview = DateTime.Now.AddHours(4 * input.Level); } return(await base.UpdateAsync(wordinput.Id, input)); } else { return(await base.UpdateAsync(new Guid(), new LearnCreateUpdateDto())); } }
public Task <LearnDto> UpdateLevel(Guid id, LearnCreateUpdateDto input, bool d) { if (d) { input.Level += 1; input.DateReview = DateTime.Now.AddHours(4 * input.Level); } else { if (input.Level > 1) { input.Level -= 1; } input.DateReview = DateTime.Now.AddHours(4 * input.Level); } //update tien do cua lesson var word = _word_rea_repository.FirstOrDefault(x => x.Id == input.WordId); Guid lsid = word.LessonId; this.UpdateProgressLessontable(lsid); return(base.UpdateAsync(id, input)); }