public void Save(QuizTake quizTake) { lock (_takes) { _takes.Fill(quizTake); } }
public QuizTake GetOrCreate(string takeId, int quizId, string userId) { var take = get(takeId, quizId, userId); if (take == null) { lock (_takes) { take = get(takeId, quizId, userId); if (take == null) { var quiz = _service.GetById(quizId); take = new QuizTake(takeId, quizId, userId, quiz.Questions.Count); _takes.Add(take); } } } return take; }