Exemple #1
0
        public ITranslationProvider[] Browse(IWin32Window owner, LanguagePair[] languagePairs, ITranslationProviderCredentialStore credentialStore)
        {
            try
            {
                var options     = new SdlMTCloudTranslationOptions();
                var credentials = SplitCredentials(credentialStore, options);
                var window      = new OptionsWindow();
                var languages   = new Languages.Provider.Languages();

                var model = new OptionsWindowModel(window, options, credentials, languagePairs, languages);

                window.DataContext = model;

                window.ShowDialog();
                if (window.DialogResult.HasValue && window.DialogResult.Value)
                {
                    var clientId     = model.Options.ClientId;
                    var clientSecret = model.Options.ClientSecret;
                    var resendDraft  = model.Options.ResendDrafts;

                    var provider = new SdlMTCloudTranslationProvider(options)
                    {
                        Options = model.Options
                    };

                    SetCredentials(credentialStore, clientId, clientSecret, resendDraft, true);
                    return(new ITranslationProvider[] { provider });
                }
            }
            catch (Exception e)
            {
                Log.Logger.Error($"{Constants.Browse} {e.Message}\n {e.StackTrace}");
            }
            return(null);
        }
Exemple #2
0
        public OptionsWindowModel(OptionsWindow window, SdlMTCloudTranslationOptions options,
                                  TranslationProviderCredential credentialStore, LanguagePair[] languagePairs, Languages.Provider.Languages languages)
        {
            _languages = languages;


            Options = options;
            LanguageMappingsViewModel = new LanguageMappingsViewModel(options, this, languagePairs, _languages);

            LoginViewModel = new LoginViewModel(options, languagePairs, LanguageMappingsViewModel, this);
            _window        = window;

            if (credentialStore == null)
            {
                return;
            }

            if (options.AuthenticationMethod.Equals("ClientLogin"))
            {
                _window.LoginTab.ClientIdBox.Password     = options.ClientId;
                _window.LoginTab.ClientSecretBox.Password = options.ClientSecret;
                LoginViewModel.SelectedOption             = LoginViewModel.AuthenticationOptions[0];
            }
            else
            {
                LoginViewModel.Email = options.ClientId;
                _window.LoginTab.UserPasswordBox.Password = options.ClientSecret;
                LoginViewModel.SelectedOption             = LoginViewModel.AuthenticationOptions[1];
            }

            var projectController = AppInitializer.GetProjectController();

            projectController.ProjectsChanged += ProjectController_ProjectsChanged;
        }
Exemple #3
0
        public MTCodesWindowModel(Languages.Provider.Languages languages)
        {
            _languages = languages;

            MTCodes = new ObservableCollection <MTCloudLanguage>(GetAllLanguages());

            _printService = new PrintService();
        }
Exemple #4
0
        public MTCodesViewModel(Window owner, Languages.Provider.Languages languages)
        {
            Owner      = owner;
            _languages = languages;

            MTCodes = new List <MTCloudLanguage>(GetAllLanguages(false));

            _printService = new PrintService();
        }
Exemple #5
0
        public SdlMTCloudTranslationProvider(Uri uri, ITranslationService translationService, string translationProviderState, EditorController editorController)
        {
            Uri = uri;
            LanguagesProvider  = new Languages.Provider.Languages();
            TranslationService = translationService;
            LoadState(translationProviderState);

            _editorController = editorController;

            SubscriptionInfo = Task.Run(async() =>
                                        await TranslationService.GetLanguagePairs(translationService.ConnectionService.Credential.AccountId)).Result;
        }
Exemple #6
0
            protected override void Execute()
            {
                try
                {
                    var mtCodesWindow = new MTCodesWindow();
                    var languages     = new Languages.Provider.Languages();

                    var mtCodesViewModel = new MTCodesWindowModel(languages);
                    mtCodesWindow.DataContext = mtCodesViewModel;
                    mtCodesWindow.ShowDialog();
                }

                catch (Exception ex)
                {
                    Log.Logger.Error($"{Constants.ExcelExecuteAction} {ex.Message}\n {ex.StackTrace}");
                    throw;
                }
            }
Exemple #7
0
        public LanguageMappingsViewModel(SdlMTCloudTranslationOptions options, OptionsWindowModel beGlobalWindowViewModel,
                                         LanguagePair[] languagePairs, Languages.Provider.Languages languages)
        {
            _mtCloudDictionaries = new List <MTCloudDictionary>();
            _languages           = languages;
            _languagePairs       = languagePairs;

            Options                  = options;
            _languageMappings        = new ObservableCollection <LanguageMappingModel>();
            _beGlobalWindowViewModel = beGlobalWindowViewModel;

            _languageMappingService = new LanguageMappingsService();

            if (Options != null)
            {
                ReSendChecked = options.ResendDrafts;
            }

            BindingOperations.EnableCollectionSynchronization(LanguageMappings, _languageMappings);
        }
            protected override void Execute()
            {
                try
                {
                    var window        = new MTCodesWindow();
                    var interopHelper = new WindowInteropHelper(window)
                    {
                        Owner = StudioInstance.GetActiveForm().Handle
                    };

                    var languages = new Languages.Provider.Languages();
                    var viewModel = new MTCodesViewModel(window, languages);
                    window.DataContext = viewModel;
                    window.ShowDialog();
                }

                catch (Exception ex)
                {
                    Log.Logger.Error($"{Constants.ExcelExecuteAction} {ex.Message}\n {ex.StackTrace}");
                    throw;
                }
            }
Exemple #9
0
        public bool Edit(IWin32Window owner, ITranslationProvider translationProvider, LanguagePair[] languagePairs,
                         ITranslationProviderCredentialStore credentialStore)
        {
            try
            {
                if (!(translationProvider is SdlMTCloudTranslationProvider editProvider))
                {
                    return(false);
                }

                //get saved key if there is one and put it into options
                var credentials = SplitCredentials(credentialStore, editProvider.Options);
                var window      = new OptionsWindow();
                var languages   = new Languages.Provider.Languages();

                var model = new OptionsWindowModel(window, editProvider.Options, credentials, languagePairs, languages);

                window.DataContext = model;

                window.ShowDialog();
                if (window.DialogResult.HasValue && window.DialogResult.Value)
                {
                    editProvider.Options = model.Options;
                    var clientId     = editProvider.Options.ClientId;
                    var clientSecret = model.Options.ClientSecret;
                    var resendDraft  = model.Options.ResendDrafts;
                    SetCredentials(credentialStore, clientId, clientSecret, resendDraft, true);
                    return(true);
                }
            }
            catch (Exception e)
            {
                Log.Logger.Error($"{Constants.EditWindow} {e.Message}\n {e.StackTrace}");
            }
            return(false);
        }