public DebugPopup(TestingViewModel testingViewModel) { BackgroundColor = Color.FromRgba(0, 0, 0, 0.5f); var btnClose = DefaultView.CloseButton(); btnClose.HorizontalOptions = LayoutOptions.Center; btnClose.VerticalOptions = LayoutOptions.End; btnClose.Margin = new Thickness(20); btnClose.AddTouch((sender, args) => { PopupNavigation.Instance.PopAsync(); }); var scrollView = new ScrollView { Orientation = ScrollOrientation.Vertical, Content = new TestingView { BindingContext = testingViewModel }, }; Content = new Grid() { BackgroundColor = Colors.Background, Children = { scrollView, btnClose, } }; }
private TestingViewModel GetQuest(int n, int id, int attemptId) { Test test = db.Tests.Include("Questions").Include("Questions.Variants").FirstOrDefault(t => t.Id == id); TestingViewModel model = new TestingViewModel { Id = test.Questions[n].Id, Numb = n, AttemptId = attemptId, TestId = test.Questions[n].TestId, Type = test.Questions[n].Type, Text = test.Questions[n].Text, Var1Id = test.Questions[n].Variants[0].Id, Var1 = test.Questions[n].Variants[0].Text, Var1IsCorrect = false, Var2Id = test.Questions[n].Variants[1].Id, Var2 = test.Questions[n].Variants[1].Text, Var2IsCorrect = false, Var3Id = test.Questions[n].Variants[2].Id, Var3 = test.Questions[n].Variants[2].Text, Var3IsCorrect = false, Var4Id = test.Questions[n].Variants[3].Id, Var4 = test.Questions[n].Variants[3].Text, Var4IsCorrect = false }; return(model); }
public IActionResult TestMe() { var model = new TestingViewModel { Greeting = _greeter.GetGreeting(), CurrentDate = DateTime.UtcNow }; return(View(model)); }
public async Task <IActionResult> Testing(TestingViewModel model) { List <Answer> answers = new List <Answer>(); if (model.Var1IsCorrect) { answers.Add(new Answer { AttemptId = model.AttemptId, VariantId = model.Var1Id }); } if (model.Var2IsCorrect) { answers.Add(new Answer { AttemptId = model.AttemptId, VariantId = model.Var2Id }); } if (model.Var3IsCorrect) { answers.Add(new Answer { AttemptId = model.AttemptId, VariantId = model.Var3Id }); } if (model.Var4IsCorrect) { answers.Add(new Answer { AttemptId = model.AttemptId, VariantId = model.Var4Id }); } await db.Answers.AddRangeAsync(answers); db.SaveChanges(); Test test = await db.Tests.Include("Questions").Include("Questions.Variants").FirstOrDefaultAsync(t => t.Id == model.TestId); if (model.Numb != test.Questions.Count - 1) { TestingViewModel newModel = GetQuest(model.Numb + 1, model.TestId, model.AttemptId); return(View(newModel)); } else { Attempt attempt = await db.Attempts.Include("Answers").Include("Answers.Variant").FirstOrDefaultAsync(t => t.Id == model.AttemptId); int a = attempt.Answers.Where(t => t.Variant.IsCorrect).Count(); int b = attempt.Answers.Count; TestResultViewModel result = new TestResultViewModel { Id = model.TestId, TestName = test.Name, Result = (double)a / b * 100 }; return(View("TestResult", result)); } }
public void ExamStart(Test test, Group group) { TestingWindow tW = new TestingWindow(); TestingViewModel tVM = new TestingViewModel(test, Login, group); tVM.CloseView += tW.CloseDialog; tW.DataContext = tVM; if (tW.ShowDialog() == true) { Wrapper.SendTestResult(tVM.Result); // ExecGroupRefresh(null); } tVM.Dispose(); }
public async Task <IActionResult> Testing(int id) { Test test = await db.Tests.Include("Questions").Include("Questions.Variants").FirstOrDefaultAsync(t => t.Id == id); if (test == null) { return(Content("Нет теста с таким id")); } Attempt attempt = new Attempt { TestId = test.Id, UserId = _userManager.GetUserId(User) }; db.Attempts.Add(attempt); db.SaveChanges(); TestingViewModel model = GetQuest(0, test.Id, attempt.Id); return(View(model)); }
public MainViewModel(INotificationBus bus) { Testing = new TestingViewModel(); Log = new LogViewModel(bus); }
public TestingPage() { InitializeComponent(); _viewModel = new TestingViewModel(); BindingContext = _viewModel; }