Esempio n. 1
0
        public ActionResult Create()
        {
            var data = GetUserData();   // TODO: переход по ссылке [localhost] + "чтото" в умной строке адреса у яндекс браузера создает нового пользователя "чтото"

            if (!data.IsNewUser())
            {
                return Logon();    // TODO: передавать контекст-объект
            }

            try
            {
                data.IsValid().ThrowArgExceptionIfNotValid();

                var provider = new UserContextRepository();
                var wordProvider = new WordFactory();
                var cardSizeProvider = new CardSizeProvider();
                var cardProvider = new CardFactory(cardSizeProvider.GetCardSize(), new Shuffler<string>(), new Cutter<string>());
                var cardCount = cardProvider.GetCards(wordProvider.GetAllWords()).Length;

                // TODO: уйти от запросов постоянных, просто кешировать слова, выделить слова и карточки все в один класс, в синглтон

                var newUC = provider.Create(Guid.NewGuid(), data.UserName, cardCount);
                provider.Add(newUC);
                AddToSession(newUC);

                return RedirectToGamePage();
            }
            catch (ArgumentException aex)
            {
                return new HttpStatusCodeResult(HttpStatusCode.BadRequest, aex.Message);
            }
        }
Esempio n. 2
0
        public void GetAllWords_Always_ReturnsStringArray()
        {
            var factory = new WordFactory();

            var list = factory.GetAllWords();

            Assert.IsInstanceOf<string[]>(list);
        }
Esempio n. 3
0
        public void GetAllWords_Always_ReturnsNotEmptyWordArray()
        {
            var factory = new WordFactory();

            var list = factory.GetAllWords();

            CollectionAssert.IsNotEmpty(list);
        }
Esempio n. 4
0
        static CardsController()
        {
            var wordProvider = new WordFactory();
            var words = wordProvider.GetAllWords();
            var sizeProvider = new CardSizeProvider();

            var cardProvider = new CardFactory(sizeProvider.GetCardSize(), new Shuffler<string>(), new Cutter<string>());
            cards = cardProvider.GetCards(words);
        }
Esempio n. 5
0
        public CardStorage GetCardStorage()
        {
            var wordFact = new WordFactory();

            var shuffler = new Shuffler<string>();
            var cutter = new Cutter<string>();
            var cardFact = new CardFactory(10, shuffler, cutter);

            var words = wordFact.GetAllWords();
            var cards = cardFact.GetCards(words);

            return new CardStorage(words, cards);
        }
Esempio n. 6
0
 private string[] GetWords()
 {
     var provider = new WordFactory();
     return provider.GetAllWords();
 }
Esempio n. 7
0
 static WordsController()
 {
     var wordsProvider = new WordFactory();
     words = wordsProvider.GetAllWords();
 }