Ejemplo n.º 1
0
        // инициализировать работу с БД c возсможной конвертацией
        public void InitializeDatabase(bool swithing)
        {
            if (swithing)
            {
                //if (MessageBox.Show("Прочитать авторов из файла базы данных?\nЕсли вы ответите \"нет\", файл базы данных с авторами будет перезаписан текущим списком.", "Сообщение", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes)
                //{
                //    // реинициализируем апдейтер
                //    InfoUpdater.Init(_setting, _logger);
                //}

                if (MessageBox.Show("Сконвертировать данные из xml файла в базу данных?","Сообщение", MessageBoxButton.YesNo,MessageBoxImage.Question)==MessageBoxResult.No)
                    swithing = false;
            }
            if (databaseManager==null)
                databaseManager = new DatabaseManager(swithing);
        }
Ejemplo n.º 2
0
 /// <summary>
 /// Реагирует на изменение некоторых настроек (сортировки, категории, правила для динамического окна)
 /// </summary>
 private void SettingPropertyChanged(object sender, PropertyChangedEventArgs e)
 {
     switch (e.PropertyName)
     {
         case "UseDatabase":
             if (currentUseDatabase==_setting.UseDatabase) return;
             if (_setting.UseDatabase)
             {
                 InitializeDatabase(true);
                 // реинициализируем апдейтер
                 InfoUpdater.Init(_setting, _logger);
             }else
             {
                 if (MessageBox.Show("Прочитать авторов из файла xml?\nЕсли вы ответите \"нет\", файл xml с авторами будет перезаписан текущим списком.","Сообщение", MessageBoxButton.YesNo,MessageBoxImage.Question)==MessageBoxResult.Yes)
                 {
                     // реинициализируем апдейтер
                     InfoUpdater.Init(_setting, _logger);
                 }
                 if (databaseManager != null)
                     databaseManager = null;
                 InfoUpdater.Save();
             }
             // перепривязываем данные
             AuthorsListBox.ItemsSource = InfoUpdater.OutputCollection;
             break;
         case "Init":
         case "SortDirection":
         case "SortProperty":
         case "UseCategory":
             InfoUpdater.Sort(_setting.SortProperty, _setting.SortDirection);
             InfoUpdater.UseCategory = _setting.UseCategory;
             switch (_setting.SortProperty)
             {
                 case "UpdateDate":
                     SortPropertyButton.Content = "д";
                     SortPropertyButton.ToolTip = "Сортировка по дате обновления";
                     break;
                 case "Name":
                     SortPropertyButton.Content = "а";
                     SortPropertyButton.ToolTip = "Сортировка по авторам";
                     break;
             }
             switch (_setting.SortDirection)
             {
                 case ListSortDirection.Ascending:
                     SortDirectButton.ToolTip = "Сортировка по возрастанию";
                     SortDirectButton.Content = FindResource("SortAscPath");
                     break;
                 case ListSortDirection.Descending:
                     SortDirectButton.ToolTip = "Сортировка по убыванию";
                     SortDirectButton.Content = FindResource("SortDescPath");
                     break;
             }
             AuthorsListBox.ScrollIntoView(AuthorsListBox.SelectedValue);
             break;
         case "DesiredPositionAdvancedWindow":
         case "AdvancedWindowVisibleStyle":
             {
                 CheckForAuthorPanelAlwaysVisivility();
                 AuthorsListBox_SelectionChanged(sender, null);
             }
             break;
     }
 }