private CommonExportOpenLastSelectedSolutionCommand(OleMenuCommandService commandService, int baseIdStart, ActionOpenComponent action) : base( commandService , baseIdStart ) { this._actionOpen = action; }
private CodeWebResourceOpenInWebCommand(OleMenuCommandService commandService, int baseIdStart, ActionOpenComponent action) : base( commandService , baseIdStart ) { this._actionOpen = action; }
private FileReportOpenInWebCommand(OleMenuCommandService commandService, int baseIdStart, ActionOpenComponent action) : base( commandService , baseIdStart ) { this._actionOpen = action; }
private OutputExportOpenLastSelectedSolutionCommand(OleMenuCommandService commandService, int baseIdStart, ActionOpenComponent action) : base( commandService , baseIdStart , ConnectionData.CountLastSolutions ) { this._actionOpen = action; }
private async Task OpeningSolutionAsync(CommonConfiguration commonConfig, ConnectionData connectionData, string solutionUniqueName, ActionOpenComponent action) { var service = await ConnectAndWriteToOutputAsync(connectionData); if (service == null) { return; } var repository = new SolutionRepository(service); var solution = await repository.GetSolutionByUniqueNameAsync(solutionUniqueName); if (solution == null) { WindowHelper.OpenExplorerSolutionExplorer( _iWriteToOutput , service , commonConfig , null , null , null ); return; } if (action == ActionOpenComponent.OpenInWeb) { connectionData.OpenSolutionInWeb(solution.Id); } else if (action == ActionOpenComponent.OpenInExplorer) { WindowHelper.OpenSolutionComponentsExplorer(this._iWriteToOutput, service, null, commonConfig, solution.UniqueName, null); } }
public async Task ExecuteOpeningSolutionAsync(ConnectionData connectionData, CommonConfiguration commonConfig, string solutionUniqueName, ActionOpenComponent action) { string operation = string.Format(Properties.OperationNames.OpeningSolutionFormat1, connectionData?.Name); this._iWriteToOutput.WriteToOutputStartOperation(connectionData, operation); try { await OpeningSolutionAsync(commonConfig, connectionData, solutionUniqueName, action); } catch (Exception ex) { this._iWriteToOutput.WriteErrorToOutput(connectionData, ex); } finally { this._iWriteToOutput.WriteToOutputEndOperation(connectionData, operation); } }
private async Task OpeningWebResource(CommonConfiguration commonConfig, ConnectionData connectionData, SelectedFile selectedFile, ActionOpenComponent action) { if (!File.Exists(selectedFile.FilePath)) { this._iWriteToOutput.WriteToOutput(connectionData, Properties.OutputStrings.FileNotExistsFormat1, selectedFile.FilePath); return; } var service = await ConnectAndWriteToOutputAsync(connectionData); if (service == null) { return; } // Репозиторий для работы с веб-ресурсами WebResourceRepository webResourceRepository = new WebResourceRepository(service); WebResource webresource = await webResourceRepository.FindByNameAsync(selectedFile.FriendlyFilePath, selectedFile.Extension); if (webresource != null) { this._iWriteToOutput.WriteToOutput(connectionData, Properties.OutputStrings.WebResourceFoundedByNameFormat2, webresource.Id.ToString(), webresource.Name); connectionData.AddMapping(webresource.Id, selectedFile.FriendlyFilePath); connectionData.Save(); } else { Guid?webId = connectionData.GetLastLinkForFile(selectedFile.FriendlyFilePath); if (webId.HasValue) { webresource = await webResourceRepository.GetByIdAsync(webId.Value); } if (webresource != null) { this._iWriteToOutput.WriteToOutput(connectionData, "Web-resource not founded by name. Last link web-resource is selected for opening."); connectionData.AddMapping(webresource.Id, selectedFile.FriendlyFilePath); connectionData.Save(); } else { this._iWriteToOutput.WriteToOutput(connectionData, "Web-resource not founded by name and has not Last link."); this._iWriteToOutput.WriteToOutput(connectionData, "Starting Custom Web-resource selection form."); bool?dialogResult = null; Guid?selectedWebResourceId = null; string selectedPath = string.Empty; var t = new Thread((ThreadStart)(() => { try { var form = new Views.WindowWebResourceSelectOrCreate(this._iWriteToOutput, service, selectedFile, webId); dialogResult = form.ShowDialog(); selectedWebResourceId = form.SelectedWebResourceId; } catch (Exception ex) { DTEHelper.WriteExceptionToOutput(connectionData, ex); } })); t.SetApartmentState(ApartmentState.STA); t.Start(); t.Join(); if (dialogResult.GetValueOrDefault()) { if (selectedWebResourceId.HasValue) { this._iWriteToOutput.WriteToOutput(connectionData, "Custom Web-resource is selected."); webresource = await webResourceRepository.GetByIdAsync(selectedWebResourceId.Value); connectionData.AddMapping(webresource.Id, selectedFile.FriendlyFilePath); connectionData.Save(); } else { this._iWriteToOutput.WriteToOutput(connectionData, "!Warning. WebResource not exists. name: {0}.", selectedFile.Name); } } else { this._iWriteToOutput.WriteToOutput(connectionData, "Opening was cancelled."); return; } } } if (webresource == null) { this._iWriteToOutput.WriteToOutput(connectionData, Properties.OutputStrings.WebResourceNotFoundedByNameFormat1, selectedFile.FileName); return; } if (action == ActionOpenComponent.OpenInWeb) { service.UrlGenerator.OpenSolutionComponentInWeb(Entities.ComponentType.WebResource, webresource.Id); } else if (action == ActionOpenComponent.OpenDependentComponentsInWeb) { connectionData.OpenSolutionComponentDependentComponentsInWeb(Entities.ComponentType.WebResource, webresource.Id); } else if (action == ActionOpenComponent.OpenDependentComponentsInExplorer) { WindowHelper.OpenSolutionComponentDependenciesExplorer( _iWriteToOutput , service , null , commonConfig , (int)ComponentType.WebResource , webresource.Id , null); } else if (action == ActionOpenComponent.OpenSolutionsContainingComponentInExplorer) { WindowHelper.OpenExplorerSolutionExplorer( _iWriteToOutput , service , commonConfig , (int)ComponentType.WebResource , webresource.Id , null ); } }
public async Task ExecuteOpeningWebResource(ConnectionData connectionData, CommonConfiguration commonConfig, SelectedFile selectedFile, ActionOpenComponent action) { string operation = string.Format(Properties.OperationNames.OpeningWebResourceFormat1, connectionData?.Name); this._iWriteToOutput.WriteToOutputStartOperation(connectionData, operation); try { CheckingFilesEncodingAndWriteEmptyLines(connectionData, new[] { selectedFile }, out _); await OpeningWebResource(commonConfig, connectionData, selectedFile, action); } catch (Exception ex) { this._iWriteToOutput.WriteErrorToOutput(connectionData, ex); } finally { this._iWriteToOutput.WriteToOutputEndOperation(connectionData, operation); } }
private CodeJavaScriptLinkedSystemFormOpenInWebInConnectionCommand(OleMenuCommandService commandService, int baseIdStart, ActionOpenComponent action) : base(commandService, baseIdStart) { this._actionOpen = action; }
private async Task OpeningSolutionAsync(CommonConfiguration commonConfig, ConnectionData connectionData, string solutionUniqueName, ActionOpenComponent action) { if (connectionData == null) { this._iWriteToOutput.WriteToOutput(connectionData, Properties.OutputStrings.NoCurrentCRMConnection); return; } this._iWriteToOutput.WriteToOutput(connectionData, connectionData.GetConnectionDescription()); // Подключаемся к CRM. var service = await QuickConnection.ConnectAsync(connectionData); if (service == null) { _iWriteToOutput.WriteToOutput(connectionData, Properties.OutputStrings.ConnectionFailedFormat1, connectionData.Name); return; } this._iWriteToOutput.WriteToOutput(connectionData, Properties.OutputStrings.CurrentServiceEndpointFormat1, service.CurrentServiceEndpoint); var repository = new SolutionRepository(service); var solution = await repository.GetSolutionByUniqueNameAsync(solutionUniqueName); if (solution == null) { WindowHelper.OpenExplorerSolutionWindow( _iWriteToOutput , service , commonConfig , null , null , null ); return; } if (action == ActionOpenComponent.OpenInWeb) { connectionData.OpenSolutionInWeb(solution.Id); } else if (action == ActionOpenComponent.OpenInExplorer) { WindowHelper.OpenSolutionComponentDependenciesWindow(this._iWriteToOutput, service, null, commonConfig, solution.UniqueName, null); } }
public async Task ExecuteOpeningWebResource(CommonConfiguration commonConfig, ConnectionData connectionData, SelectedFile selectedFile, ActionOpenComponent action) { string operation = string.Format(Properties.OperationNames.OpeningWebResourceFormat1, connectionData?.Name); this._iWriteToOutput.WriteToOutputStartOperation(connectionData, operation); try { { this._iWriteToOutput.WriteToOutput(connectionData, Properties.OperationNames.CheckingFilesEncoding); CheckController.CheckingFilesEncoding(this._iWriteToOutput, connectionData, new List <SelectedFile>() { selectedFile }, out List <SelectedFile> filesWithoutUTF8Encoding); this._iWriteToOutput.WriteToOutput(connectionData, string.Empty); this._iWriteToOutput.WriteToOutput(connectionData, string.Empty); this._iWriteToOutput.WriteToOutput(connectionData, string.Empty); } await OpeningWebResource(commonConfig, connectionData, selectedFile, action); } catch (Exception ex) { this._iWriteToOutput.WriteErrorToOutput(connectionData, ex); } finally { this._iWriteToOutput.WriteToOutputEndOperation(connectionData, operation); } }
private async Task OpeningReport(CommonConfiguration commonConfig, ConnectionData connectionData, SelectedFile selectedFile, ActionOpenComponent action) { if (connectionData == null) { this._iWriteToOutput.WriteToOutput(connectionData, Properties.OutputStrings.NoCurrentCRMConnection); return; } if (!File.Exists(selectedFile.FilePath)) { this._iWriteToOutput.WriteToOutput(connectionData, Properties.OutputStrings.FileNotExistsFormat1, selectedFile.FilePath); return; } this._iWriteToOutput.WriteToOutput(connectionData, connectionData.GetConnectionDescription()); // Подключаемся к CRM. var service = await QuickConnection.ConnectAsync(connectionData); if (service == null) { _iWriteToOutput.WriteToOutput(connectionData, Properties.OutputStrings.ConnectionFailedFormat1, connectionData.Name); return; } this._iWriteToOutput.WriteToOutput(connectionData, Properties.OutputStrings.CurrentServiceEndpointFormat1, service.CurrentServiceEndpoint); // Репозиторий для работы с веб-ресурсами ReportRepository reportRepository = new ReportRepository(service); Report reportEntity = await reportRepository.FindAsync(selectedFile.FileName); if (reportEntity != null) { this._iWriteToOutput.WriteToOutput(connectionData, Properties.OutputStrings.ReportFoundedByNameFormat2, reportEntity.Id.ToString(), reportEntity.Name); connectionData.AddMapping(reportEntity.Id, selectedFile.FriendlyFilePath); connectionData.Save(); } else { Guid?reportId = connectionData.GetLastLinkForFile(selectedFile.FriendlyFilePath); if (reportId.HasValue) { reportEntity = await reportRepository.GetByIdAsync(reportId.Value); } if (reportEntity != null) { this._iWriteToOutput.WriteToOutput(connectionData, "Report not founded by name. Last link report is selected for opening."); connectionData.AddMapping(reportEntity.Id, selectedFile.FriendlyFilePath); connectionData.Save(); } else { this._iWriteToOutput.WriteToOutput(connectionData, "Report not founded by name and has not Last link."); this._iWriteToOutput.WriteToOutput(connectionData, "Starting Custom Report selection form."); bool?dialogResult = null; Guid?selectedReportId = null; string selectedPath = string.Empty; var t = new Thread((ThreadStart)(() => { try { var form = new Views.WindowReportSelect(this._iWriteToOutput, service, selectedFile, reportId); dialogResult = form.ShowDialog(); selectedReportId = form.SelectedReportId; } catch (Exception ex) { DTEHelper.WriteExceptionToOutput(connectionData, ex); } })); t.SetApartmentState(ApartmentState.STA); t.Start(); t.Join(); if (dialogResult.GetValueOrDefault()) { if (selectedReportId.HasValue) { this._iWriteToOutput.WriteToOutput(connectionData, "Custom report is selected."); reportEntity = await reportRepository.GetByIdAsync(selectedReportId.Value); connectionData.AddMapping(reportEntity.Id, selectedFile.FriendlyFilePath); connectionData.Save(); } else { this._iWriteToOutput.WriteToOutput(connectionData, "!Warning. Report not exists. name: {0}.", selectedFile.Name); } } else { this._iWriteToOutput.WriteToOutput(connectionData, "Opening was cancelled."); return; } } } if (reportEntity == null) { this._iWriteToOutput.WriteToOutput(connectionData, Properties.OutputStrings.ReportNotFoundedByNameFormat1, selectedFile.FileName); return; } if (action == ActionOpenComponent.OpenInWeb) { service.UrlGenerator.OpenSolutionComponentInWeb(Entities.ComponentType.Report, reportEntity.Id); } else if (action == ActionOpenComponent.OpenDependentComponentsInWeb) { connectionData.OpenSolutionComponentDependentComponentsInWeb(Entities.ComponentType.Report, reportEntity.Id); } else if (action == ActionOpenComponent.OpenDependentComponentsInExplorer) { WindowHelper.OpenSolutionComponentDependenciesWindow( _iWriteToOutput , service , null , commonConfig , (int)ComponentType.Report , reportEntity.Id , null); } else if (action == ActionOpenComponent.OpenSolutionsContainingComponentInExplorer) { WindowHelper.OpenExplorerSolutionWindow( _iWriteToOutput , service , commonConfig , (int)ComponentType.Report , reportEntity.Id , null ); } }
public async Task ExecuteOpeningReport(CommonConfiguration commonConfig, ConnectionData connectionData, SelectedFile selectedFile, ActionOpenComponent action) { string operation = string.Format(Properties.OperationNames.OpeningReportFormat1, connectionData?.Name); this._iWriteToOutput.WriteToOutputStartOperation(connectionData, operation); try { await OpeningReport(commonConfig, connectionData, selectedFile, action); } catch (Exception ex) { this._iWriteToOutput.WriteErrorToOutput(connectionData, ex); } finally { this._iWriteToOutput.WriteToOutputEndOperation(connectionData, operation); } }