using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; namespace PsychoTest.Pages { /// /// Логика взаимодействия для TestPage.xaml /// public partial class TestPage : Page { public PsychoBase DB = new PsychoBase(); List questions; public int n = 0; public double TotalScore = 0; int test_id, user_id; public TestPage(int id_test, int id_user) { InitializeComponent(); questions = DB.Questions.Where(x=>x.Id_test==id_test).ToList(); QuestionContent.Text = questions[n].Content; NameOfTest.Text = DB.Tests.Where(x => x.Test_id == id_test).Select(x=>x.Test_name).FirstOrDefault(); test_id = id_test; user_id = id_user; } private void TotalAgree(object sender, RoutedEventArgs e) { CountScoring(5); } private void PartAgree(object sender, RoutedEventArgs e) { CountScoring(4); } private void NotSure(object sender, RoutedEventArgs e) { CountScoring(3); } private void PartDisagree(object sender, RoutedEventArgs e) { CountScoring(2); } private void TotalDisagree(object sender, RoutedEventArgs e) { CountScoring(1); } private void ExitOfTest(object sender, RoutedEventArgs e) { MainFrame.frame.Navigate(new UserTests(user_id)); } public void CountScoring(int answer) { switch(answer) { case 1: if (questions[n].Id_answer == 1) { TotalScore++; } break; case 2: if (questions[n].Id_answer == 1) { TotalScore+=0.75; } else { TotalScore += 0.25; } break; case 3: TotalScore += 0.5; break; case 4: if (questions[n].Id_answer == 1) { TotalScore += 0.25; } else { TotalScore += 0.75; } break; case 5: if (questions[n].Id_answer == 5) { TotalScore++; } break; default: MessageBox.Show("Что-то не так"); break; } n++; try { QuestionContent.Text = questions[n].Content; } catch { MainFrame.frame.Navigate(new ResultPage(test_id,user_id, TotalScore)); } } } }