IEnumerable <StopWord> ReTestImpl()
        {
            var stopWords = Context.Default.StopWords.ToArray();

            return
                (from word in Context.Default.StopWords.ToArray()
                 where word.Regex.IsMatch(TestWord.ToLower())
                 select word);
        }
Esempio n. 2
0
        public ActionResult SpellTest(FormCollection collection, TestViewModel model)
        {
            var words = _repository.GetWordsForTest(model.SpellingBeeTestId);
            ////skapa testwords
            //var testWords = words.Select(w =>
            //    new TestWord
            //    {
            //        WordId = w.WordId
            //    }).ToList();

            //TODO: Flytta skapandet av testet hit. Då slipper man tomma test om anv avbryter testet utan att spara.
            // TODO: hantera browser-navigering.
            var testWords = new List <TestWord>();

            foreach (var word in model.Words)
            {
                var testWord = new TestWord();
                testWord.WordId = word.WordId;

                var right = string.IsNullOrEmpty(word.Input) ? false : word.EnglishText.Equals(word.Input.ToLower());
                if (right)
                {
                    testWord.Correct = true;
                }
                testWords.Add(testWord);
                //_repository.CreateTestWord(testWord);
            }
            var appUser = SpellUserManager.FindByName(User.Identity.Name);
            //skapa usertest
            var userTest = new UserTest()
            {
                ApplicationUserId = appUser.Id,
                SpellingBeeTestId = model.SpellingBeeTestId,
                TestDate          = DateTime.Now,
                TestWords         = testWords
            };
            //Creates UserTest and TestWord in one call.
            var userTestId = _repository.CreateUserTest(userTest);

            var percentage          = Convert.ToInt32(Decimal.Round((Convert.ToDecimal(model.TestRights) / Convert.ToDecimal(model.Words.Count)), 2) * 100);
            var testResultViewModel = new TestResultViewModel()
            {
                RightPercentage = percentage
            };

            //Uppdatera UserTest med procenten
            _repository.UpdateUserTestscore(model.SpellingBeeTestId, percentage);

            return(RedirectToAction("SpellTestResult", testResultViewModel));
        }
Esempio n. 3
0
        void FillGroupBox(int step, TestWord word) //на каждом этапе заполнить динамически radioButton's
        {
            pnl.Dock = DockStyle.Left;
            pnl.Controls.Clear();
            word.wrong_word[word.wrong_word.Length - 1] = word.rus_word;
            Random r = new Random();

            string[] random_wrong_words = word.wrong_word.OrderBy(x => rnd2.Next()).ToArray();
            for (int i = 0; i < random_wrong_words.Length; i++)
            {
                pnl.Controls.Add(new RadioButton()
                {
                    Text = random_wrong_words[i]
                });
            }
            label2.Text = word.eng_word + " (" + word.word_type + ")";
            this.groupBox1.Controls.Add(pnl);
            //this.label1.Text = "Оставшееся время " + test.counter.ToString();
        }
Esempio n. 4
0
 public void CreateTestWord(TestWord testWord)
 {
     _context.TestWords.Add(testWord);
     _context.SaveChanges();
 }