void TransButton(Button but) //метод для начала теста
        {
            SetClass.Themes = but.Content.ToString();
            TestWindow tw = new TestWindow();

            tw.ShowDialog();
            Close();

            SetClass.CheckWindow++;
        }
Exemplo n.º 2
0
        private void button_test_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                var select_themes = listBox_themes.SelectedItem as Themes;
                CheckAccess();

                int check_words = 0;
                if (check_access == 0) //у пользователя ряд ограничений
                {
                    if (CheckContent())
                    {
                        foreach (var themes in itestentities.Themes)
                        {
                            foreach (var words in itestentities.Words)
                            {
                                if (themes.Name == select_themes.ToString() && words.Id_themes == themes.Id)
                                {
                                    check_words++;
                                }
                            }
                        }

                        if (check_words > 6)
                        {
                            MessageBox.Show("Прохождение теста невозможно т. к. в нём меньше 7 вопросов", string.Format("The Intellect Test | Редактор тестов: {0}", select_themes.ToString()), MessageBoxButton.OK, MessageBoxImage.Error);
                        }
                        else
                        {
                            if (select_themes != null)
                            {
                                SetClass.Themes = select_themes.ToString();
                                TestWindow tw = new TestWindow();
                                tw.ShowDialog();
                                Close();

                                SelectThemeWindow stw = new SelectThemeWindow();
                                stw.Close();

                                UserWindow uw = new UserWindow();
                                uw.Close();
                                uw.ShowDialog();
                            }
                            else
                            {
                                MessageBox.Show("Ошибка! Вы не выбрали тест", string.Format("The Intellect Test | Редактор тестов: {0}", select_themes.ToString()), MessageBoxButton.OK, MessageBoxImage.Error);
                            }
                        }
                    }
                    else
                    {
                        MessageBox.Show("Ошибка! Тест не готов к прохождению. Сообщите его создателю или администратору", string.Format("The Intellect Test | Редактор тестов: {0}", select_themes.ToString()), MessageBoxButton.OK, MessageBoxImage.Error);
                    }
                }
                else //у администратора ограничений нет
                {
                    if (select_themes != null)
                    {
                        foreach (var section in itestentities.Section)
                        {
                            foreach (var themes in itestentities.Themes)
                            {
                                if (themes.Id == (listBox_themes.SelectedItem as Themes).Id && themes.Id_section == section.Id && section.Name != "Пользовательский")
                                {
                                    SetClass.Themes = select_themes.ToString();
                                    TestWindow tw = new TestWindow();
                                    tw.ShowDialog();
                                    Close();

                                    SelectThemeWindow stw = new SelectThemeWindow();
                                    stw.Close();

                                    UserWindow uw = new UserWindow();
                                    uw.Close();
                                    uw.ShowDialog();
                                }
                                else
                                {
                                    MessageBox.Show("Ошибка! Из этого окна прохождение теста возможно только из пользовательского раздела", string.Format("The Intellect Test | Редактор тестов: {0}", select_themes.ToString()), MessageBoxButton.OK, MessageBoxImage.Error);
                                }
                            }
                        }
                    }
                    else
                    {
                        MessageBox.Show("Вы не выбрали тест", string.Format("The Intellect Test | Редактор тестов: {0}", select_themes.ToString()), MessageBoxButton.OK, MessageBoxImage.Error);
                    }
                }
            }
            catch (Exception)
            {
                MessageBox.Show("Ошибка! Обратитесь к разработчику", "The Intellect Text", MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }