Beispiel #1
0
        public MailClientControlViewModel(IInteractionRequest interactionRequest, IClientTestEmail clientTestEmail, ITranslationUpdater translationUpdater,
                                          ISelectedProfileProvider selectedProfileProvider, ITokenViewModelFactory tokenViewModelFactory, IDispatcher dispatcher) : base(translationUpdater, selectedProfileProvider, dispatcher)
        {
            _interactionRequest = interactionRequest;
            _clientTestEmail    = clientTestEmail;

            CreateTokenViewModels(tokenViewModelFactory);

            EmailClientTestCommand = new DelegateCommand(EmailClientTestExecute);
            EditEmailTextCommand   = new DelegateCommand(EditEmailTextExecute);
        }
        public EmailClientActionViewModel(EmailClientActionSettingsAndActionTranslation translation, IInteractionInvoker interactionInvoker, IClientTestEmail clientTestEmail)
        {
            _interactionInvoker = interactionInvoker;
            _clientTestEmail    = clientTestEmail;
            Translation         = translation;

            EmailClientTestCommand = new DelegateCommand(EmailClientTestExecute);
            EditEmailTextCommand   = new DelegateCommand(EditEmailTextExecute);

            DisplayName = Translation.DisplayName;
            Description = Translation.Description;
        }
        public EmailClientActionViewModel(ITranslator translator, IInteractionInvoker interactionInvoker, IClientTestEmail clientTestEmail)
        {
            _interactionInvoker = interactionInvoker;
            _clientTestEmail    = clientTestEmail;
            Translator          = translator;

            EmailClientTestCommand = new DelegateCommand(EmailClientTestExecute);
            EditEmailTextCommand   = new DelegateCommand(EditEmailTextExecute);

            DisplayName = Translator.GetTranslation("EmailClientActionSettings", "DisplayName");
            Description = Translator.GetTranslation("EmailClientActionSettings", "Description");
        }
        public void SetUp()
        {
            _interactionRequest = new UnitTestInteractionRequest();

            _mailClientTest = Substitute.For <IClientTestEmail>();

            var translationUpdater = new TranslationUpdater(new TranslationFactory(), new ThreadManager());

            _profile = new ConversionProfile();
            var currentSettingsProvider = Substitute.For <ICurrentSettingsProvider>();

            currentSettingsProvider.SelectedProfile.Returns(_profile);

            _tokenHelper   = new TokenHelper(new DesignTimeTranslationUpdater());
            _tokenReplacer = _tokenHelper.TokenReplacerWithPlaceHolders;

            _viewModel = new MailClientControlViewModel(_interactionRequest, _mailClientTest, translationUpdater, currentSettingsProvider, new TokenViewModelFactory(currentSettingsProvider, new TokenHelper(new DesignTimeTranslationUpdater())), null);
        }
        public MailClientControlViewModel(IInteractionRequest interactionRequest, IClientTestEmail clientTestEmail, ITranslationUpdater translationUpdater,
                                          ISelectedProfileProvider selectedProfileProvider, TokenHelper tokenHelper) : base(translationUpdater, selectedProfileProvider)
        {
            _interactionRequest = interactionRequest;
            _clientTestEmail    = clientTestEmail;

            var tokenReplacer = tokenHelper.TokenReplacerWithPlaceHolders;
            var tokens        = tokenHelper.GetTokenListForEmailRecipients();

            if (CurrentProfile?.EmailClientSettings != null)
            {
                RecipientsTokenViewModel = new TokenViewModel(
                    v => EmailClientSettings.Recipients = v,
                    () => EmailClientSettings.Recipients,
                    tokens,
                    s => tokenReplacer.ReplaceTokens(s));
            }
            RaisePropertyChanged(nameof(RecipientsTokenViewModel));

            EmailClientTestCommand = new DelegateCommand(EmailClientTestExecute);
            EditEmailTextCommand   = new DelegateCommand(EditEmailTextExecute);
        }