Пример #1
0
        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));
        }
Пример #2
0
        public ActionResult InitializeMemoGame([FromBody] MemoParameters param)
        {
            AccessGuardian(Roles.AccessUser, param.UserId);

            return(JsonHelper.Success(MemoService.InitializeQuestions(param)));
        }
Пример #3
0
        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);
        }