public IList <MemoModel> InitializeQuestions(MemoParameters param) { var gameSession = GamesService.InitializeBaseGame(param.DictionaryId, param.UserId, GamesEnum.Memo); var translations = TranslationsRepository.GetTranslationsForDictionary(param.DictionaryId).ToList(); return(GetQuestions(translations, gameSession, param)); }
public ActionResult InitializeMemoGame([FromBody] MemoParameters param) { AccessGuardian(Roles.AccessUser, param.UserId); return(JsonHelper.Success(MemoService.InitializeQuestions(param))); }
private IList <MemoModel> GetQuestions(IList <Translation> translations, GameSession gameSession, MemoParameters param) { var result = new List <MemoModel>(); var min = Math.Min(param.MaxNumberOfQuestions, translations.Count); for (var i = 0; i < param.NumberOfGames; i++) { result.Add(new MemoModel { GameSessionId = gameSession.Id, Translations = translations.OrderBy(translation => Guid.NewGuid()).Take(min).ToList() }); } return(result); }