Exemple #1
0
        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;
        }