CheckTestResults.xaml.cs 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using System.Windows;
  7. using System.Windows.Controls;
  8. using System.Windows.Data;
  9. using System.Windows.Documents;
  10. using System.Windows.Input;
  11. using System.Windows.Media;
  12. using System.Windows.Media.Imaging;
  13. using System.Windows.Navigation;
  14. using System.Windows.Shapes;
  15. namespace MyTests.Pages
  16. {
  17. // Страница с результатами выбранного пользователя
  18. public partial class CheckTestResults : Page
  19. {
  20. Users user;
  21. public CheckTestResults(Tests _test, Users _user)
  22. {
  23. InitializeComponent();
  24. user = _user;
  25. //Заполнение верхней панели при проверке результатов
  26. TestName.Content = _test.Name; //Заполнение названия теста
  27. PassedLabel.Content = _user.Surname + " " + _user.Name + " " + _user.Patronymic; // Заполнение пользователя, который проходил тест
  28. // Проверка на картинку в базе данных у пользователя. Если нет, то устанавливается стандартная
  29. if (_user.Image == null)
  30. AuthorImg.Source = new BitmapImage(new Uri("../Resources/StandartImage.png", UriKind.RelativeOrAbsolute));
  31. else
  32. AuthorImg.Source = ImagesFunctions.NewImage(_user);
  33. //Очистка списка ответов в программе (ListBox)
  34. AnswersListBox.Items.Clear();
  35. // Создание переменной(списка), хранящей список ответов
  36. List<AnswerClass> answerList = new List<AnswerClass>();
  37. // Счетчик с номером ответа
  38. int counter = 1;
  39. // Заполнение переменной ответами из базы данных, которые принадлежат выбранному тесту и пользователю
  40. foreach (Answers answer in cdb.db.Answers.Where(item => item.Questions.IdTest == _test.IdTest &&
  41. item.IdUser == Session.User.IdUser).ToList())
  42. {
  43. AnswerClass ac = new AnswerClass();
  44. ac.Answer = answer;
  45. ac.AnswerNum = counter;
  46. counter++;
  47. // Добавление данных в переменную(список)
  48. answerList.Add(ac);
  49. }
  50. // Заполнение списка ответов переменной со списком ответов
  51. AnswersListBox.ItemsSource = answerList;
  52. }
  53. private void PassedLabel_MouseDown(object sender, MouseButtonEventArgs e)
  54. {
  55. // Переход на страницу профиля выбранного пользователя
  56. NavigationService.Navigate(new ProfilePage(user));
  57. }
  58. //Класс, необходимый для ответов
  59. public class AnswerClass
  60. {
  61. public Answers Answer { get; set; }
  62. public int AnswerNum { get; set; }
  63. }
  64. }
  65. }