private double CalculateScore(List <AnswerDbo> answersDbo, TestDbo testDbo) { var rightAnswersCount = answersDbo.Count(a => AnswersHelper.CheckAnswer(a.UserAnswer, a.RightAnswer)); return((double)rightAnswersCount / testDbo.Questions.Count); }
public async Task <Guid> SaveAnswersAsync(List <AnswerDbo> answersDbo, TestDbo test, UserDbo user) { await SetRightAnswers(answersDbo); var score = CalculateScore(answersDbo, test); var result = await SaveResult(test, user, score); await SaveAnswersWithResult(answersDbo, result); return(result.Id); }
public async Task <ActionResult> AddAsync() { var user = await GetUser(); var test = new TestDbo { Owner = user }; ModelsContext.Add(test); await ModelsContext.SaveChangesAsync(); return(Ok(test.Id)); }
private async Task <ResultDbo> SaveResult(TestDbo test, UserDbo user, double score) { var result = new ResultDbo { User = user, DateTime = DateTime.Now, Test = test, Score = score }; _context.Add(result); await _context.SaveChangesAsync(); return(result); }