UserPage.xaml.cs 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. using System;
  2. using System.Collections.Generic;
  3. using System.IO;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. using System.Windows;
  8. using System.Windows.Controls;
  9. using System.Windows.Data;
  10. using System.Windows.Documents;
  11. using System.Windows.Input;
  12. using System.Windows.Media;
  13. using System.Windows.Media.Imaging;
  14. using System.Windows.Navigation;
  15. using System.Windows.Shapes;
  16. namespace PsychoTest.Pages
  17. {
  18. /// <summary>
  19. /// Логика взаимодействия для UserPage.xaml
  20. /// </summary>
  21. public partial class UserPage : Page
  22. {
  23. public PsychoBase DB = new PsychoBase();
  24. public int user_id;
  25. public UserPage(int id)
  26. {
  27. InitializeComponent();
  28. user_id = id;
  29. Fullname.Text = DB.Users.Where(x=>x.User_id == id).Select(x=>x.Surname).FirstOrDefault() + " " +
  30. DB.Users.Where(x => x.User_id == id).Select(x => x.Name).FirstOrDefault() + " " +
  31. DB.Users.Where(x => x.User_id == id).Select(x => x.Patronymic).FirstOrDefault();
  32. List<Users_Tests> ut = DB.Users_Tests.Where(x=>x.Id_user == id).ToList();
  33. List<Tests> tt = new List<Tests>();
  34. foreach(Users_Tests utt in ut)
  35. {
  36. tt.Add(DB.Tests.Where(x => x.Test_id == utt.Results.Id_test).First());
  37. }
  38. TestList.ItemsSource = tt;
  39. }
  40. private void GoToTestPage(object sender, RoutedEventArgs e)
  41. {
  42. Button bt = (Button)sender;
  43. int test_id = Convert.ToInt32(bt.Uid);
  44. MainFrame.frame.Navigate(new TestPage(test_id,user_id));
  45. }
  46. private void Image_Loaded(object sender, RoutedEventArgs e)
  47. {
  48. Image img = (Image)sender;
  49. int id = Convert.ToInt32(img.Uid);
  50. Tests test = DB.Tests.Where(x => x.Test_id == id).FirstOrDefault();
  51. byte[] bt = test.Image;
  52. if (bt != null)
  53. {
  54. ShowImage(bt, img);
  55. }
  56. else
  57. {
  58. img.Source = img.Source = new BitmapImage(new Uri("/Resources/picture.png", UriKind.RelativeOrAbsolute));
  59. }
  60. }
  61. void ShowImage(byte[] arr, System.Windows.Controls.Image img)
  62. {
  63. BitmapImage BI = new BitmapImage();
  64. BI.BeginInit();
  65. BI.StreamSource = new MemoryStream(arr);
  66. BI.EndInit();
  67. img.Source = BI;
  68. }
  69. private void GoToAllTests(object sender, RoutedEventArgs e)
  70. {
  71. MainFrame.frame.Navigate(new UserTests(user_id));
  72. }
  73. private void ResultFind(object sender, RoutedEventArgs e)
  74. {
  75. TextBlock tb = (TextBlock)sender;
  76. int id = Convert.ToInt32(tb.Uid);
  77. int resid = DB.Users_Tests.Where(x=>x.Id_user == user_id && x.Results.Id_test == id).Select(x=>x.Id_result).FirstOrDefault();
  78. tb.Text = "Ваш результат: " + DB.Results.Where(x=>x.Result_id == resid).Select(x=>x.Result_name).FirstOrDefault();
  79. }
  80. private void ExitToAuth(object sender, RoutedEventArgs e)
  81. {
  82. MainFrame.frame.Navigate(new LoginPage());
  83. }
  84. }
  85. }