Esempio n. 1
0
        public IActionResult QuizForm(QuizViewModel quizViewModel)
        {
            // calculate time
            var endTime   = DateTime.Now;
            var beginTime = HttpContext.Session.Get <DateTime>(SessionKeyQuizStartTime);
            var quizTime  = (int)endTime.Subtract(beginTime).TotalSeconds;

            Console.WriteLine("Time of quiz: " + quizTime.ToString());

            //calculate score
            var questsFromUser = quizViewModel.Quests;
            var originalQuests = QuestCreator.CreateDefaultQuests(50);
            var score          = CalculateScore(questsFromUser, originalQuests);

            Console.WriteLine("Wynik: " + score.ToString());

            // write results to session probe result
            var probeResult = HttpContext.Session.Get <ProbeResult>(SessionKeyProbeResult);

            probeResult.Time  = quizTime;
            probeResult.Score = score;
            HttpContext.Session.Set(SessionKeyProbeResult, probeResult);

            QuizDone();

            return(RedirectToAction("Survey"));
        }
Esempio n. 2
0
        public IActionResult Quiz()
        {
            if (QuizEnabled())
            {
                var model = new QuizViewModel
                {
                    Quests         = QuestCreator.CreateDefaultQuests(50),
                    TutorialQuests = QuestCreator.CreateInstructionQuests(),
                };

                QuizBegin();

                return(View(model));
            }

            else
            {
                return(RedirectToAction("Hello"));
            }
        }
Esempio n. 3
0
        public MainPageViewModel(IPageNavigator pageNavigator, UserStatistic userStatistic)
        {
            if (pageNavigator is null)
            {
                throw new ArgumentNullException(nameof(pageNavigator));
            }
            if (userStatistic is null)
            {
                throw new ArgumentNullException(nameof(UserStatistic));
            }

            questCreator = new QuestCreator();

            allQuests = new ObservableCollection <QuestViewModel>();
            AllQuests = new ReadOnlyObservableCollection <QuestViewModel>(allQuests);
            (QuestRegistry.Instance.Quests as INotifyCollectionChanged).CollectionChanged += AllQuestViewModels_CollectionChanged;


            this.PageNavigator = pageNavigator;
            this.UserStatistic = userStatistic;
            this.UserStatistic.Recalculated += OnStatisticRecalculated;

            AddNewQuestCommand = new Command(() =>
            {
                var newQuest                     = questCreator.CreateQuest();
                var descriptionComponent         = newQuest.GetComponent <DescriptionComponent>();
                descriptionComponent.Title       = "Title";
                descriptionComponent.Description = "Description";

                OpenQuestPageCommand.Execute(newQuest);
            });

            OpenQuestPageCommand = new Command <AbstractQuest>((quest) =>
            {
                PageNavigator.ToQuestPage(quest);
            });
        }
Esempio n. 4
0
 public QuizViewModel()
 {
     AllQuests = QuestCreator.CreateDefaultQuests(NumOfQuests);
 }
Esempio n. 5
0
    public static void Init()
    {
        QuestCreator qc = EditorWindow.GetWindow <QuestCreator>();

        qc.Show();
    }