Exemplo n.º 1
0
        /// <summary>
        /// Attempts to display the specified record on the gui
        /// </summary>
        /// <param name="selectedRecord">Record to view</param>
        private void OpenFileRecord(FileRecord selectedRecord)
        {
            if (selectedRecord == null)
            {
                return;
            }
            string extractedFileName;

            try
            {
                extractedFileName = selectedRecord.ExtractTempFile(_ggpkPath);
                var extension = Path.GetExtension(selectedRecord.Name);

                // If we're dealing with .dat files then just create a human readable CSV and view that instead
                if (!String.IsNullOrEmpty(extension) && extension.ToLower().Equals(".dat"))
                {
                    var extractedCsv = Path.GetTempFileName();
                    File.Move(extractedCsv, extractedCsv + ".csv");
                    extractedCsv = extractedCsv + ".csv";

                    using (var inStream = File.Open(extractedFileName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
                    {
                        var tempWrapper = new DatWrapper(inStream, selectedRecord.Name);
                        File.WriteAllText(extractedCsv, tempWrapper.GetCSV());
                    }

                    File.Delete(extractedFileName);
                    extractedFileName = extractedCsv;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(
                    string.Format(Settings.Strings["ViewSelectedItem_Failed"], ex.Message),
                    Settings.Strings["Error_Caption"],
                    MessageBoxButton.OK, MessageBoxImage.Error);
                return;
            }

            var fileViewerProcess = new Process
            {
                StartInfo           = new ProcessStartInfo(extractedFileName),
                EnableRaisingEvents = true
            };

            fileViewerProcess.Exited += fileViewerProcess_Exited;
            fileViewerProcess.Start();
        }
Exemplo n.º 2
0
        private void ExportCSV()
        {
            var sfd = new SaveFileDialog();

            sfd.FileName = Path.GetFileNameWithoutExtension(FileName) + ".csv";

            if (sfd.ShowDialog() == true)
            {
                try
                {
                    File.WriteAllText(sfd.FileName, _wrapper.GetCSV());
                }
                catch (Exception ex)
                {
                    MessageBox.Show(string.Format(Settings.Strings["DatViewer_ExportCSV_Failed"], ex.Message), Settings.Strings["Error_Caption"], MessageBoxButton.OK, MessageBoxImage.Error);
                    return;
                }

                MessageBox.Show(string.Format(Settings.Strings["DatViewer_ExportCSV_Successful"], sfd.FileName), Settings.Strings["DatViewer_ExportCSV_Successful_Caption"], MessageBoxButton.OK, MessageBoxImage.Information);
            }
        }