コード例 #1
0
        private static string HandleExportXsdSchemaIntoSchamasFolder(string[] fileNamesColl)
        {
            StringBuilder result = new StringBuilder();

            try
            {
                string exportFolder = FileOperations.GetSchemaXsdFolder();

                foreach (var fileName in fileNamesColl)
                {
                    Uri uri = FileOperations.GetSchemaResourceUri(fileName);
                    StreamResourceInfo info = Application.GetResourceStream(uri);

                    var doc = XDocument.Load(info.Stream);
                    info.Stream.Dispose();

                    var filePath = Path.Combine(exportFolder, fileName);

                    doc.Save(filePath, SaveOptions.OmitDuplicateNamespaces);

                    if (result.Length > 0)
                    {
                        result.Append(" ");
                    }

                    result.AppendFormat("{0} {1}", Path.GetFileNameWithoutExtension(fileName), new Uri(filePath).ToString());
                }
            }
            catch (Exception ex)
            {
                DTEHelper.WriteExceptionToOutput(null, ex);
            }

            return(result.ToString());
        }
コード例 #2
0
        public void HandleXsdSchemaExport(string[] fileNamesColl)
        {
            CommonConfiguration commonConfig = CommonConfiguration.Get();

            if (commonConfig != null)
            {
                var thread = new System.Threading.Thread(() =>
                {
                    try
                    {
                        var form = new WindowSelectFolderForExport(null, commonConfig.FolderForExport, commonConfig.DefaultFileAction);

                        if (form.ShowDialog().GetValueOrDefault())
                        {
                            commonConfig.FolderForExport   = form.SelectedFolder;
                            commonConfig.DefaultFileAction = form.GetFileAction();

                            commonConfig.Save();

                            ActivateOutputWindow(null);
                            WriteToOutputEmptyLines(null, commonConfig);

                            try
                            {
                                foreach (var fileName in fileNamesColl)
                                {
                                    Uri uri = FileOperations.GetSchemaResourceUri(fileName);
                                    StreamResourceInfo info = Application.GetResourceStream(uri);

                                    var doc = XDocument.Load(info.Stream);
                                    info.Stream.Dispose();

                                    var filePath = Path.Combine(commonConfig.FolderForExport, fileName);

                                    doc.Save(filePath, SaveOptions.OmitDuplicateNamespaces);

                                    this.WriteToOutput(null, string.Empty);
                                    this.WriteToOutput(null, string.Empty);
                                    this.WriteToOutput(null, string.Empty);

                                    this.WriteToOutput(null, "{0} exported.", fileName);

                                    this.WriteToOutput(null, string.Empty);

                                    this.WriteToOutputFilePathUri(null, filePath);

                                    PerformAction(null, filePath, true);
                                }
                            }
                            catch (Exception ex)
                            {
                                WriteErrorToOutput(null, ex);
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                        DTEHelper.WriteExceptionToOutput(null, ex);
                    }
                });

                thread.SetApartmentState(System.Threading.ApartmentState.STA);

                thread.Start();
            }
        }