Example #1
0
        public static void Update()
        {
            var oldThreats =
                ((ThreatListViewModel)((ThreatList)MainWindow.Instance.MainThreatList.Content).DataContext)
                .AllThreats;
            String tempPath = Path.Combine(Path.GetTempPath(), Path.GetFileName(OpenManager.OpenedFilePath));

            if (!DownloadManager.DownloadFile(tempPath))
            {
                return;
            }
            if (!XlsxThreatReader.ReadThreats(tempPath, out IEnumerable <Threat> temp))
            {
                return;
            }
            var newThreats    = temp.ToList();
            var updateReport  = UpdateReport.CreateUpdateReport(oldThreats, newThreats);
            var newMainWindow = new MainWindow(newThreats);

            newMainWindow.Show();
            MainWindow.Instance.Close();
            MainWindow.Instance = newMainWindow;
            try
            {
                UpdateFile(OpenManager.OpenedFilePath, tempPath, newThreats);
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message, "Не удалось обновить файл");
                return;
            }
            new UpdateReportWindow(updateReport).ShowDialog();
        }
Example #2
0
        private static Boolean ReadThreats(FileInfo fileInfo, out IEnumerable <Threat> threats)
        {
            switch (fileInfo.Extension)
            {
            case XlsxThreatReader.DefaultExtension:
                return(XlsxThreatReader.ReadThreats(fileInfo.FullName, out threats));

            case JsonThreatReader.DefaultExtension:
                return(JsonThreatReader.ReadThreats(fileInfo.FullName, out threats));

            default:
                return(JsonThreatReader.ReadThreats(fileInfo.FullName, out threats));
            }
        }