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()); }
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(); } }