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")); }
public IActionResult Quiz() { if (QuizEnabled()) { var model = new QuizViewModel { Quests = QuestCreator.CreateDefaultQuests(50), TutorialQuests = QuestCreator.CreateInstructionQuests(), }; QuizBegin(); return(View(model)); } else { return(RedirectToAction("Hello")); } }
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); }); }
public QuizViewModel() { AllQuests = QuestCreator.CreateDefaultQuests(NumOfQuests); }
public static void Init() { QuestCreator qc = EditorWindow.GetWindow <QuestCreator>(); qc.Show(); }