Beispiel #1
0
        private static IProjectDependenciesModelExporter GetExporter(string exporterFormatName)
        {
            if (!_availableExporters.ContainsKey(exporterFormatName))
            {
                throw new ArgumentException(string.Format("Exporter with format '{0}' is not available.", exporterFormatName));
            }

            IProjectDependenciesModelExporter exporter = _availableExporters[exporterFormatName];

            return(exporter);
        }
Beispiel #2
0
        private void ExportGraphToFile()
        {
            string exporterFormatName = (string)cb_exportFormat.SelectedItem;
            IProjectDependenciesModelExporter exporter = GetExporter(exporterFormatName);
            string exporterFileExtension = exporter.ExportedFileExtension;

            saveFileDialog_export.FileName = _projectDependenciesModel.RootProjectInfo.ProjectName;

            saveFileDialog_export.Filter =
                string.Format("{0} (*.{1})|*.dgml", exporterFormatName, exporterFileExtension);

            if (saveFileDialog_export.ShowDialog() == DialogResult.OK)
            {
                exporter.Export(_projectDependenciesModel, saveFileDialog_export.FileName);

                MessageBox.Show("Done.", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
Beispiel #3
0
        private static void ObtainAvailableExporters()
        {
            IEnumerable <Type> exportersTypes =
                Assembly.GetExecutingAssembly().GetTypes()
                .Where(t => typeof(IProjectDependenciesModelExporter).IsAssignableFrom(t));

            foreach (Type exportersType in exportersTypes)
            {
                if (exportersType.IsInterface)
                {
                    continue;
                }

                IProjectDependenciesModelExporter exporter =
                    (IProjectDependenciesModelExporter)Activator.CreateInstance(exportersType);

                _availableExporters.Add(exporter.ExportFormatName, exporter);
            }
        }