protected override void Execute() { try { var window = new MTCodesWindow(); var activeForm = StudioInstance.GetActiveForm(); if (activeForm != null) { var interopHelper = new WindowInteropHelper(window) { Owner = activeForm.Handle }; } var languages = new LanguageProvider(); var viewModel = new MTCodesViewModel(window, languages); window.DataContext = viewModel; window.ShowDialog(); } catch (Exception ex) { _logger.Error($"{Constants.ExcelExecuteAction} {ex.Message}\n {ex.StackTrace}"); throw; } }
public ITranslationProvider CreateTranslationProvider(Uri translationProviderUri, string translationProviderState, ITranslationProviderCredentialStore credentialStore) { var connectionService = new ConnectionService(StudioInstance.GetActiveForm(), new VersionService(), StudioInstance.GetLanguageCloudIdentityApi()); var credential = connectionService.GetCredential(credentialStore); var connectionResult = connectionService.EnsureSignedIn(credential); if (!connectionResult.Item1) { throw new TranslationProviderAuthenticationException(PluginResources.Message_Invalid_credentials); } connectionService.SaveCredential(credentialStore); var editorController = StudioInstance.GetEditorController(); var translationService = new TranslationService(connectionService); var languageProvider = new LanguageProvider(); var projectsController = StudioInstance.GetProjectsController(); var provider = new SdlMTCloudTranslationProvider(translationProviderUri, translationProviderState, translationService, languageProvider, editorController, projectsController); return(provider); }
public ITranslationProvider CreateTranslationProvider(Uri translationProviderUri, string translationProviderState, ITranslationProviderCredentialStore credentialStore) { var currentProjProvider = MtCloudApplicationInitializer.GetCurrentProjectProvider(); if (currentProjProvider != null) { MtCloudApplicationInitializer.SetTranslationService(null, currentProjProvider.TranslationService); return(currentProjProvider); } var connectionService = new ConnectionService(StudioInstance.GetActiveForm(), new VersionService(), StudioInstance.GetLanguageCloudIdentityApi(), MtCloudApplicationInitializer.Client); var credential = connectionService.GetCredential(credentialStore); var connectionResult = connectionService.EnsureSignedIn(credential); if (!connectionResult.Item1) { throw new TranslationProviderAuthenticationException(PluginResources.Message_Invalid_credentials); } connectionService.SaveCredential(credentialStore); MtCloudApplicationInitializer.SetTranslationService(connectionService, null); var languageProvider = new LanguageProvider(); var provider = new SdlMTCloudTranslationProvider(translationProviderUri, translationProviderState, MtCloudApplicationInitializer.TranslationService, languageProvider); MtCloudApplicationInitializer.AddCurrentProjectProvider(provider); return(provider); }