public MainWindow() { InitializeComponent(); image.Source = new BitmapImage(new Uri($"/keks/kek-{kekn}.jpg", UriKind.Relative)); fsmanager = new LocalStorageManager(); visibleThreats = new List <Threat>(); if (fsmanager.FindLocalStorage(out threats)) { MessageBox.Show("Локальное хранилище найдено!", "Good news", MessageBoxButton.OK); for (int i = 0; i < PAGE_SIZE && i < threats.Count; i++) { visibleThreats.Add(threats[i]); } } else { var res = MessageBox.Show("Локальное хранилище не найдено!\nСкачать данные из официального банка данных угроз ФСТЭК России?", "Bad news", MessageBoxButton.YesNo); if (res == MessageBoxResult.Yes) { try { FileInfo file; fsmanager.DownloadFile(out file); if (fsmanager.TryParseThreats(file, out threats)) { for (int i = 0; i < PAGE_SIZE && i < threats.Count; i++) { visibleThreats.Add(threats[i]); } } } catch (WebException) { MessageBox.Show("Ошибка загрузки файла", "Bad News", MessageBoxButton.OK); return; } catch (UnauthorizedAccessException) { MessageBox.Show("Недостаточно прав для создания директории локального хранилища", "Bad News", MessageBoxButton.OK); return; } } } this.dataGrid.ItemsSource = visibleThreats; }
private void UpdateDBButton_Click(object sender, RoutedEventArgs e) { FileInfo file; try { fsmanager.DownloadFile(out file); } catch (WebException) { MessageBox.Show("Ошибка загрузки файла", "Bad News", MessageBoxButton.OK); return; } catch (UnauthorizedAccessException) { MessageBox.Show("Недостаточно прав для создания директории локального хранилища", "Bad News", MessageBoxButton.OK); return; } List <Threat> newThreats; if (fsmanager.TryParseThreats(file, out newThreats)) { int n; DifferencesWindow difWindow = new DifferencesWindow(threats, newThreats, out n); if (n == 0) { MessageBox.Show("Никаких изменений не произошло", "Good news", MessageBoxButton.OK); difWindow.Close(); } else { var res = MessageBox.Show($"Локальная база успешно обновлена.\nВсего изменений: {n}\nПоказать изменения?", "Good news", MessageBoxButton.YesNo); if (res == MessageBoxResult.Yes) { difWindow.Show(); } threats = newThreats; UpdatePage(1); } } }