123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125 |
- using System;
- using System.Linq;
- using System.Windows;
- using System.Windows.Controls;
- using System.Windows.Input;
- using System.Windows.Media.Imaging;
- using System.Windows.Navigation;
- namespace MyTests.Pages
- {
- public partial class EditTestPage : Page
- {
- Tests test;
- Questions selected;
- public EditTestPage(Tests _test = null)
- {
- InitializeComponent();
- if (_test == null)
- {
- try
- {
- int testId = cdb.db.Tests.Select(p => p.IdTest).DefaultIfEmpty(0).Max() + 1;
- Tests newTest = new Tests()
- {
- IdTest = testId,
- IdUser = Session.User.IdUser,
- Name = $"Новый тест {cdb.db.Tests.Where(item => item.IdUser == Session.User.IdUser).Count() + 1}",
- IsAnswersVisible = false,
- IsVisible = false,
- CanAgain = false
- };
- cdb.db.Tests.Add(newTest);
- cdb.db.SaveChanges();
- test = cdb.db.Tests.Where(item => item.IdTest == testId).FirstOrDefault();
- }
- catch (Exception ex)
- {
- new ErrorWindow(ex.Message);
- }
- }
- else
- {
- test = _test;
- IsVisibleCB.IsChecked = test.IsVisible;
- IsAnswersVisibleCB.IsChecked = test.IsAnswersVisible;
- CanAgainCB.IsChecked = test.CanAgain;
- }
- TestNameBox.Text = test.Name;
- TestImg.Source = test.Image == null ?
- new BitmapImage(new Uri("../Resources/Approval.png", UriKind.RelativeOrAbsolute)) :
- ImagesFunctions.NewImage(_test);
- QuestionsListBox.Items.Clear();
- QuestionsUpdate();
- }
- private void QuestionsUpdate()
- {
- QuestionsListBox.ItemsSource = cdb.db.Questions.Where(item => item.IdTest == test.IdTest).ToList();
- }
- private void QuestionsListBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
- {
- selected = ((Questions)QuestionsListBox.SelectedItem);
- }
- private void AddQuestionButton_Click(object sender, RoutedEventArgs e)
- {
- new QuestionAddToTestWindow(test).ShowDialog();
- QuestionsUpdate();
- }
- private void DeleteQuestionButton_Click(object sender, RoutedEventArgs e)
- {
- if (selected != null)
- {
- ConfirmationWindow confWindow = new ConfirmationWindow();
- confWindow.ShowDialog();
- if (confWindow.answer)
- {
- try
- {
- foreach (Answers answer in cdb.db.Answers.Where(item => item.IdQuestion == selected.IdQuestion))
- cdb.db.Answers.Remove(answer);
- cdb.db.Questions.Remove(selected);
- cdb.db.SaveChanges();
- }
- catch (Exception ex)
- {
- new ErrorWindow(ex.Message);
- }
- }
- QuestionsUpdate();
- }
- }
- private void BackButton_Click(object sender, RoutedEventArgs e)
- {
- NavigationService.GoBack();
- }
- private void TestImg_MouseDown(object sender, MouseButtonEventArgs e)
- {
- BitmapImage image = ImagesFunctions.SelectImage();
- if (image != null)
- {
- TestImg.Source = image;
- test.Image = ImagesFunctions.BitmapSourceToByteArray((BitmapSource)TestImg.Source);
- cdb.db.SaveChanges();
- }
- }
- private void TestNameBox_LostFocus(object sender, RoutedEventArgs e)
- {
- test.Name = TestNameBox.Text;
- }
- private void SaveInfoCB(object sender, RoutedEventArgs e)
- {
- test.IsVisible = IsVisibleCB.IsChecked == true;
- test.IsAnswersVisible = IsAnswersVisibleCB.IsChecked == true;
- test.CanAgain = CanAgainCB.IsChecked == true;
- cdb.db.SaveChanges();
- }
- }
- }
|