ProfilePage.xaml.cs 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  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. public partial class ProfilePage : Page
  18. {
  19. public static Users user;
  20. public ProfilePage(Users _user)
  21. {
  22. InitializeComponent();
  23. user = _user;
  24. UserName.Content = user.Login;
  25. if (user.Image == null)
  26. ProfileImage.Source = new BitmapImage(new Uri("../Resources/StandartImage.png", UriKind.RelativeOrAbsolute));
  27. else
  28. ProfileImage.Source = ImagesManip.NewImage(user);
  29. TestsLoading();
  30. //EmailBox.Content = cnt.db.Dispatcher.Where(item => item.IdDispatcher == profile.DispatcherId).Select(item => item.Email).FirstOrDefault();
  31. //PhoneNumBox.Content = "+7(" + phone.Substring(0, 3) + ")" + phone.Substring(3, 3) + "-" + phone.Substring(6, 2) + "-" + phone.Substring(8, 2);
  32. }
  33. private void EditImage_Click(object sender, RoutedEventArgs e)
  34. {
  35. if(user == Session.User)
  36. {
  37. BitmapImage image = ImagesManip.SelectImage();
  38. if (image != null)
  39. {
  40. ProfileImage.Source = image;
  41. Session.User.Image = ImagesManip.BitmapSourceToByteArray((BitmapSource)ProfileImage.Source);
  42. cnt.db.SaveChanges();
  43. }
  44. }
  45. }
  46. private void TestsLoading()
  47. {
  48. TestsListBox.Items.Clear();
  49. TestsListBox.ItemsSource = cnt.db.Tests.Where(item => item.IdUser == user.IdUser).ToList();
  50. }
  51. private void SaveButton(object sender, RoutedEventArgs e)
  52. {
  53. }
  54. private void BackButton(object sender, RoutedEventArgs e)
  55. {
  56. }
  57. private void TestsListBox_Selected(object sender, RoutedEventArgs e)
  58. {
  59. try
  60. {
  61. if (((Tests)TestsListBox.SelectedItem) != null)
  62. {
  63. Session.OpenedTest = cnt.db.Tests.Where(item => item.IdTest == ((Tests)TestsListBox.SelectedItem).IdTest).FirstOrDefault();
  64. Session.Points = 0;
  65. Session.CurQuestion = 0;
  66. Session.Quest.Content = cnt.db.Questions.Where(item => item.IdTest == Session.OpenedTest.IdTest).Select(item => item.Content).ToArray();
  67. Session.Quest.Answer = cnt.db.Questions.Where(item => item.IdTest == Session.OpenedTest.IdTest).Select(item => item.Answer).ToArray();
  68. NavigationService.Navigate(new Pages.CurTestPage());
  69. }
  70. }
  71. catch
  72. {
  73. new ErrorWindow("Ошибка открытия теста.").ShowDialog();
  74. }
  75. }
  76. }
  77. }