コード例 #1
0
        public override T GetPanel <T>(params object[] parameters)
        {
            try
            {
                var emailPanel   = new EmailPanel();
                var emailContext = emailPanel.DataContext as EmailContext;
                if (emailContext != null)
                {
                    Settings.ApplyToProperties(emailContext, "Bot-Email", "Service-Provider");
                    if (!string.IsNullOrEmpty(Settings["Password"].Value))
                    {
                        emailPanel.UserPasswordBox.Password        = SynUtility.Security.Decrypt(Settings["Password"].Value);
                        emailPanel.UserConfirmPasswordBox.Password = SynUtility.Security.Decrypt(Settings["Password"].Value);
                    }

                    emailContext.SaveAction = () =>
                    {
                        try
                        {
                            var settingsManager = VA.SettingsManager;
                            var settingsWindow  = VA.Components.Get <SettingsWindow>();
                            if (emailPanel.UserPasswordBox.Password == emailPanel.UserConfirmPasswordBox.Password)
                            {
                                Settings["Bot-Email"].Value        = emailContext.BotEmail;
                                Settings["Service-Provider"].Value = emailContext.ServiceProvider;
                                Settings["Password"].Value         = !string.IsNullOrEmpty(emailPanel.UserPasswordBox.Password) ? SynUtility.Security.Encrypt(emailPanel.UserPasswordBox.Password) : string.Empty;
                                settingsManager.Save(Settings, StringResource.EmailPlugin_SettingsSavedMessage);
                            }
                            else
                            {
                                settingsWindow.DisplayMessage(Name, StringResource.EmailPlugin_WrongPasswordMessage);
                            }
                        }
                        catch (Exception exception)
                        {
                            VA.Logger.Error(exception);
                        }
                    };
                }
                return(emailPanel as T);
            }
            catch (Exception exception)
            {
                VA.Logger.Error(exception);
            }

            return(null);
        }
コード例 #2
0
        // Runs when "Sent Email" is clicked
        private void EmailClick(object sender, RoutedEventArgs e)
        {
            EmailPanel _EmailPanel = new EmailPanel(CxNameBox.Text.Split(' ')[0], this);

            ContentBox.Content = _EmailPanel;
        }