using System; using System.Collections.Generic; using System.IO; 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 { /// /// Логика взаимодействия для UserPage.xaml /// public partial class UserPage : Page { public PsychoBase DB = new PsychoBase(); public int user_id; public UserPage(int id) { InitializeComponent(); user_id = id; Fullname.Text = DB.Users.Where(x=>x.User_id == id).Select(x=>x.Surname).FirstOrDefault() + " " + DB.Users.Where(x => x.User_id == id).Select(x => x.Name).FirstOrDefault() + " " + DB.Users.Where(x => x.User_id == id).Select(x => x.Patronymic).FirstOrDefault(); List ut = DB.Users_Tests.Where(x=>x.Id_user == id).ToList(); List tt = new List(); foreach(Users_Tests utt in ut) { tt.Add(DB.Tests.Where(x => x.Test_id == utt.Results.Id_test).First()); } TestList.ItemsSource = tt; } private void GoToTestPage(object sender, RoutedEventArgs e) { Button bt = (Button)sender; int test_id = Convert.ToInt32(bt.Uid); MainFrame.frame.Navigate(new TestPage(test_id,user_id)); } private void Image_Loaded(object sender, RoutedEventArgs e) { Image img = (Image)sender; int id = Convert.ToInt32(img.Uid); Tests test = DB.Tests.Where(x => x.Test_id == id).FirstOrDefault(); byte[] bt = test.Image; if (bt != null) { ShowImage(bt, img); } else { img.Source = img.Source = new BitmapImage(new Uri("/Resources/picture.png", UriKind.RelativeOrAbsolute)); } } void ShowImage(byte[] arr, System.Windows.Controls.Image img) { BitmapImage BI = new BitmapImage(); BI.BeginInit(); BI.StreamSource = new MemoryStream(arr); BI.EndInit(); img.Source = BI; } private void GoToAllTests(object sender, RoutedEventArgs e) { MainFrame.frame.Navigate(new UserTests(user_id)); } private void ResultFind(object sender, RoutedEventArgs e) { TextBlock tb = (TextBlock)sender; int id = Convert.ToInt32(tb.Uid); int resid = DB.Users_Tests.Where(x=>x.Id_user == user_id && x.Results.Id_test == id).Select(x=>x.Id_result).FirstOrDefault(); tb.Text = "Ваш результат: " + DB.Results.Where(x=>x.Result_id == resid).Select(x=>x.Result_name).FirstOrDefault(); } private void ExitToAuth(object sender, RoutedEventArgs e) { MainFrame.frame.Navigate(new LoginPage()); } } }