Exemplo n.º 1
0
        /// <summary>
        /// Creates a report of the open coverage data.
        /// </summary>
        public void CreateCoverageReport()
        {
            var config = new ReportConfigurationModel();

            // set some defaults.
            config.ProjectName = CoverageRows.FirstOrDefault()?.DisplayName;

            var configDlg = new ReportConfigurationDlg(config);

            configDlg.Owner = Owner;

            // note: nullable bools...
            if (configDlg.ShowDialog() == true)
            {
                var writer = new CoverageWriter();
                writer.WriteReport(CoverageRows.Select(vm => vm.Model), config);


                if (config.OpenWhenDone)
                {
                    Process.Start(
                        new ProcessStartInfo
                    {
                        FileName        = config.DestinationPath,
                        UseShellExecute = true,
                    }
                        );
                }
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Saves a coverage file.
        /// </summary>
        /// <param name="path">
        /// The path to save the file to. IF null or empty, the user is prompted to select the file path.
        /// </param>
        public void SaveFile(string path)
        {
            bool canceled = false;

            // if we were not given a path, let the user browse for one.
            if (string.IsNullOrEmpty(path))
            {
                //TODO (testing): hide this behind a service interface
                var sfd = new SaveFileDialog
                {
                    Filter = "Coverage XML File (*.coveragexml)|*.coveragexml",
                };

                if (!string.IsNullOrEmpty(Settings.Default.CoverageXmlDirectory))
                {
                    sfd.InitialDirectory = Settings.Default.CoverageXmlDirectory;
                }

                if (sfd.ShowDialog(Owner) == true)
                {
                    path = sfd.FileName;

                    Settings.Default.CoverageXmlDirectory = Path.GetDirectoryName(path);
                    Settings.Default.Save();
                }
                else
                {
                    // user canceled
                    canceled = true;
                }
            }

            if (!canceled)
            {
                var writer = new CoverageWriter();
                writer.WriteCoverageXml(CoverageRows.Select(vm => vm.Model), path);
            }
        }