Example #1
0
 private void btnAddTenant_Click(object sender, RoutedEventArgs e)
 {
     if (!String.IsNullOrEmpty(txtTenantDisplayName.Text) && (!String.IsNullOrEmpty(txtTenantValue.Text)))
     {
         bool         headerNameStillExists = false;
         ServerSchema srv = (ServerSchema)this.DataContext;
         foreach (ServerSchemaTenants schemaTenant in srv.Tenants)
         {
             if (schemaTenant.TenantDisplayName.Equals(txtTenantDisplayName.Text))
             {
                 //HeaderName existiert -> Ändere Headervalue
                 schemaTenant.TenantValue = txtTenantValue.Text;
                 headerNameStillExists    = true;
                 break;
             }
         }
         if (!headerNameStillExists)
         {
             ServerSchemaTenants tenants = new ServerSchemaTenants();
             tenants.TenantDisplayName = txtTenantDisplayName.Text;
             tenants.TenantValue       = txtTenantValue.Text;
             srv.Tenants.Add(tenants);
         }
     }
 }
Example #2
0
        private void addFile_Click(object sender, RoutedEventArgs e)
        {
            //ToDo: Fehler muss über sender gehen sonst kann es dem MailServer nciht zugeordnet werden
            Button dialogButton = null;

            if (sender is Button)
            {
                dialogButton = (Button)sender;
            }
            ServerSchema myServerSchema = (ServerSchema)dialogButton.DataContext;//this.DataContext;
            var          fileDialog     = new System.Windows.Forms.OpenFileDialog();

            fileDialog.InitialDirectory = myServerSchema.MailFilePath;
            fileDialog.Multiselect      = true;
            fileDialog.CheckFileExists  = true;
            fileDialog.CheckPathExists  = true;
            fileDialog.Filter           = myServerSchema.Filter + "|" + myServerSchema.Filter;
            System.Windows.Forms.DialogResult result = fileDialog.ShowDialog();
            if (result == System.Windows.Forms.DialogResult.OK)
            {
                //DirectoryInfo dir = new DirectoryInfo(fileDialog.FileName);
                //dir.
                myServerSchema.MailFilePath = fileDialog.FileName;
                String[] fileNames = fileDialog.FileNames;
                //ServerSchema serv = (ServerSchema)this.DataContext;
                foreach (String filename in fileNames)
                {
                    myServerSchema.MailDir.Add(filename);
                }
                ulong allMails = UInt64.Parse(txtValMails.Text);
                myServerSchema.MailsCount = (allMails + (ulong)fileNames.Length);
                lstMails.GetBindingExpression(ListBox.ItemsSourceProperty).UpdateTarget();
            }
        }
Example #3
0
        private ulong CountMails(string[] filesDirs)
        {
            ulong        mailCount      = 0;
            ServerSchema myServerSchema = (ServerSchema)this.DataContext;

            foreach (string fileName in filesDirs)
            {
                if (File.Exists(fileName))
                {
                    mailCount++;
                }
                else if (Directory.Exists(fileName))
                {
                    if ((bool)chkRecursive.IsChecked)
                    {
                        //mySearchOption = SearchOption.AllDirectories;
                        long files = Directory.GetFiles(fileName, myServerSchema.Filter, SearchOption.AllDirectories).LongLength;
                        mailCount = mailCount + (ulong)files;
                    }
                    else
                    {
                        long files = Directory.GetFiles(fileName, myServerSchema.Filter, SearchOption.TopDirectoryOnly).LongLength;
                        mailCount = mailCount + (ulong)files;
                    }
                }
            }
            return(mailCount);
        }
Example #4
0
 private void SetMailingMethod(ServerSchema tmpServerSchema)
 {
     if (!initial)
     {
         if ((bool)rbSendOriginal.IsChecked)
         {
             //Parsing und FallBack
             tmpServerSchema.SendOriginal = false;
             tmpServerSchema.NewMessageID = true;
             tmpServerSchema.Parsed       = true;
             //rbNewMessageID.IsChecked = true;
         }
         if ((bool)rbParseHeader.IsChecked)
         {
             tmpServerSchema.SendOriginal    = true;
             tmpServerSchema.DeleteMessageID = true;
             tmpServerSchema.Parsed          = false;
             //rbDeleteMessageID.IsChecked = true;
         }
         if ((bool)rbOriginalMessage.IsChecked)
         {
             tmpServerSchema.SendOriginal      = true;
             tmpServerSchema.DeleteMessageID   = false;
             tmpServerSchema.Parsed            = false;
             tmpServerSchema.OriginalMessageID = true;
             tmpServerSchema.NewMessageID      = false;
             //rbOriginalMessageID.IsChecked = true;
         }
     }
 }
        private void cmbChooseServer_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            ComboBox     comboBox       = (ComboBox)sender;
            ServerSchema selectedServer = (ServerSchema)comboBox.SelectedItem;

            SetVisibleServer(selectedServer);
        }
Example #6
0
        private void rbOriginalMessage_Checked(object sender, RoutedEventArgs e)
        {
            RadioButton  button          = (RadioButton)sender;
            ServerSchema tmpServerSchema = (ServerSchema)button.DataContext;

            SetMailingMethod(tmpServerSchema);
        }
Example #7
0
 private void btnAddHeader_Click(object sender, RoutedEventArgs e)
 {
     if (!String.IsNullOrEmpty(txtHeaderName.Text) && (!String.IsNullOrEmpty(txtHeaderValue.Text)))
     {
         bool         headerNameStillExists = false;
         ServerSchema srv = (ServerSchema)this.DataContext;
         foreach (ServerSchemaHeader schemaHeader in srv.Header)
         {
             if (schemaHeader.Name.Equals(txtHeaderName.Text))
             {
                 //HeaderName existiert -> Ändere Headervalue
                 schemaHeader.Value    = txtHeaderValue.Text;
                 headerNameStillExists = true;
                 break;
             }
         }
         if (!headerNameStillExists)
         {
             ServerSchemaHeader header = new ServerSchemaHeader();
             header.Name  = txtHeaderName.Text;
             header.Value = txtHeaderValue.Text;
             srv.Header.Add(header);
         }
     }
 }
Example #8
0
        public ServerStatus InitialiseServer(string key, ServerSchema schema)
        {
            ServerStatus serverStatus = null;

            try
            {
                serverStatus = serverStatis[key];
            }
            catch (KeyNotFoundException ex)
            {
                serverStatus = new ServerStatus();
                serverStatis.Add(key, serverStatus);
            }
            serverStatus.Server = schema;
            ServerConfig serverConfig = GetCorrectServerConfig(key);

            serverConfigs[key] = setConfig(serverStatus, serverConfig);
            if (!serverConfig.Parsed)
            {
                serverStatus.ServerImpl = new SelfServer(serverConfig.SmartHost, serverConfig.Port, serverConfig.MailFrom, serverConfig.MailTo, serverConfig.User, serverConfig.Pwd, serverConfig.Rounds, serverConfig.Connections, serverConfig.EndlessSending, serverConfig.MailAttributes, serverConfig.Parsed, serverConfig.WaitBetweenMailsms, serverConfig.SendOriginal, serverConfig.NewMessageID, serverConfig.FallBack, key, serverConfig.AddSenderToMail, serverConfig.AddRecipientToMail, serverConfig.AnonymousAuth, serverConfig.Host, serverConfig.CacheMailsUntilInByte, serverConfig.CodePageEnabled, serverConfig.CodePage, serverConfig.RecipientGroup, serverConfig.RecipientGroupStart, serverConfig.RecipientGroupEnd, serverConfig.RecipientGroupDomain, serverConfig.UseRecipientGroup, serverConfig.SubjectMailCount, serverConfig.SubjectAddMailNamePosition, serverConfig.SenderGroup, serverConfig.SenderGroupStart, serverConfig.SenderGroupEnd, serverConfig.SenderGroupDomain, serverConfig.UseSenderGroup, serverConfig.AddHeader, serverConfig.UseNoneSSL, serverConfig.UseSMTPS, serverConfig.UseTLS, serverConfig.IgnoreAllErrors, serverConfig.SendTimeout, serverConfig.ReceiveTimeout, serverConfig.SendBuffer, serverConfig.ReceiveBuffer);
            }
            else
            {
                //serverStatus.ServerImpl = new Client(serverConfig.SmartHost, serverConfig.Port, serverConfig.MailFrom, serverConfig.MailTo, serverConfig.User, serverConfig.Pwd, serverConfig.Rounds, serverConfig.Connections, serverConfig.EndlessSending, serverConfig.MailAttributes, serverConfig.Parsed, serverConfig.WaitBetweenMailsms, serverConfig.SendOriginal, serverConfig.NewMessageID, serverConfig.FallBack, key, serverConfig.AddSenderToMail, serverConfig.AddRecipientToMail, serverConfig.AnonymousAuth, serverConfig.Host, serverConfig.CacheMailsUntilInByte, serverConfig.CodePageEnabled, serverConfig.CodePage, serverConfig.RecipientGroup, serverConfig.RecipientGroupStart, serverConfig.RecipientGroupEnd, serverConfig.RecipientGroupDomain, serverConfig.SubjectMailCount);
            }
            serverStatis[key] = serverStatus;
            return(serverStatus);
        }
Example #9
0
        public override ValidationResult Validate(
            object value, CultureInfo cultureInfo)
        {
            BindingGroup bindingGroup = value as BindingGroup;

            if (bindingGroup == null)
            {
                return(new ValidationResult(false,
                                            "CustomerObjectiveOrReasonValidationRule should only be used with a BindingGroup"));
            }

            if (bindingGroup.Items.Count == 1)
            {
                object       item     = bindingGroup.Items[0];
                ServerSchema mySchema = (ServerSchema)item;
                string       name     = mySchema.RecipientGroup;
                string       start    = mySchema.RecipientGroupStart;
                string       end      = mySchema.RecipientGroupEnd;
                string       domain   = mySchema.RecipientGroupDomain;
                int          iStart;
                int          iEnd;
                if (!Int32.TryParse(start, out iStart) || !Int32.TryParse(end, out iEnd))
                {
                    return(new ValidationResult(false,
                                                "You must enter only numbers in RecipientGroupStart and RecipientGroupEnd"));
                }
                if (iStart > iEnd)
                {
                    iEnd = iStart;
                }
                if (iEnd < 0 && iStart < 0)
                {
                    iStart = 0;
                    iEnd   = 0;
                }
                if (iStart < 0)
                {
                    iStart = iEnd;
                }
                if (iEnd < 0)
                {
                    iEnd = iStart;
                }
                mySchema.RecipientGroupStart = iStart.ToString();
                mySchema.RecipientGroupEnd   = iEnd.ToString();


                //Int32.TryParse
                //ActivityEditorViewModel viewModel = item as ActivityEditorViewModel;

                /*
                 * if (viewModel != null && viewModel.Activity != null &&
                 * !viewModel.Activity.CustomerObjectiveOrReasonEntered())
                 *  return new ValidationResult(false,
                 *    "You must enter one of Customer, Objective, or Reason to a valid entry");
                 */
            }
            return(ValidationResult.ValidResult);
        }
Example #10
0
        private void lstMails_Drop(object sender, DragEventArgs e)
        {
            // Dateien aus den gezogenen Daten auslesen
            ServerSchema myServerSchema = (ServerSchema)lstMails.DataContext;
            SearchOption mySearchOption = SearchOption.TopDirectoryOnly;

            string[] filesNames = (string[])e.Data.GetData(DataFormats.FileDrop,
                                                           false);
            foreach (string fileName in filesNames)
            {
                // FileInfo-Objekt erzeugen
                FileInfo fi = new FileInfo(fileName);
                if (fi.Exists)
                {
                    myServerSchema.MailDir.Add(fileName);
                    ulong allMails = UInt64.Parse(txtValMails.Text);
                    myServerSchema.MailsCount = (allMails + 1);

                    // Wenn es sich nicht um einen Ordner handelt: FileInfo-Objekt der
                    // Liste anfügen
                    //this.fileListBox.Items.Add(fi);
                }
                else if (Directory.Exists(fileName))
                {
                    //Directory


                    if ((bool)chkRecursive.IsChecked)
                    {
                        mySearchOption = SearchOption.AllDirectories;
                        long files = -1;
                        try
                        {
                            files = Directory.GetFiles(fileName, myServerSchema.Filter, mySearchOption).LongLength;
                        }
                        catch (Exception ex)
                        {
                        }
                        if (files > 0)
                        {
                            ulong allMails = UInt64.Parse(txtValMails.Text);
                            myServerSchema.MailDir.Add(fileName);
                            myServerSchema.MailsCount = (allMails + (ulong)files);
                        }
                    }
                    else
                    {
                        long files = Directory.GetFiles(fileName, myServerSchema.Filter, mySearchOption).LongLength;
                        if (files > 0)
                        {
                            ulong allMails = UInt64.Parse(txtValMails.Text);
                            myServerSchema.MailDir.Add(fileName);
                            myServerSchema.MailsCount = (allMails + (ulong)files);
                        }
                    }
                }
            }
            lstMails.GetBindingExpression(ListBox.ItemsSourceProperty).UpdateTarget();
        }
Example #11
0
        private void rbBasic_Checked(object sender, RoutedEventArgs e)
        {
            RadioButton  button         = (RadioButton)sender;
            ServerSchema myServerSchema = (ServerSchema)button.DataContext;

            myServerSchema.AnonymousAuth = false;
            myServerSchema.BasicAuth     = true;
        }
Example #12
0
        private void rbSubjectMailNameReplace_Click(object sender, RoutedEventArgs e)
        {
            RadioButton  button          = (RadioButton)sender;
            ServerSchema tmpServerSchema = (ServerSchema)button.DataContext;

            tmpServerSchema.Subject.SubjectMailNameBegin   = false;
            tmpServerSchema.Subject.SubjectMailNameEnd     = false;
            tmpServerSchema.Subject.SubjectMailNameReplace = true;
        }
Example #13
0
        private Servers initialiseConfig(string configFile)
        {
            Servers      servs        = new Servers();
            ServerSchema serverSchema = new ServerSchema();

            serverSchema.Visible = true;
            servs.ServerSchema.Add(serverSchema);
            return(servs);
        }
Example #14
0
        private void rbSubjectEnd_Click(object sender, RoutedEventArgs e)
        {
            RadioButton  button          = (RadioButton)sender;
            ServerSchema tmpServerSchema = (ServerSchema)button.DataContext;

            tmpServerSchema.Subject.SubjectNone          = false;
            tmpServerSchema.Subject.SubjectExtentAtBegin = false;
            tmpServerSchema.Subject.SubjectExtentAtEnd   = true;
        }
Example #15
0
        private void rbSMTPS_Checked(object sender, RoutedEventArgs e)
        {
            RadioButton  button          = (RadioButton)sender;
            ServerSchema tmpServerSchema = (ServerSchema)button.DataContext;

            tmpServerSchema.NoSSL             = false;
            tmpServerSchema.UseTLS            = false;
            tmpServerSchema.UseSSLSecuredPort = true;
        }
        private void txtServer_LostFocus(object sender, RoutedEventArgs e)
        {
            TextBox      textBox      = (TextBox)sender;
            ServerSchema serverSchema = (ServerSchema)textBox.DataContext;

            if (String.IsNullOrEmpty(txtDisplayName.Text))
            {
                txtDisplayName.Text      = txtServer.Text;
                serverSchema.DisplayName = txtServer.Text;
            }
        }
        private void btnDeleteServer_Click(object sender, RoutedEventArgs e)
        {
            ServerSchema myServerSchema = (ServerSchema)cmbChooseServer.SelectedItem;

            if (m_Servers.ServerSchema.Count > 1)
            {
                for (int i = 0; i < this.stackServers.Children.Count; i++)
                {
                    if (this.stackServers.Children[i] is ServerControl)
                    {
                        ServerControl myServerControl  = (ServerControl)this.stackServers.Children[i];
                        ServerSchema  compServerSchema = (ServerSchema)myServerControl.DataContext;
                        if (myServerSchema.Equals(compServerSchema))
                        {
                            if (i - 1 >= 0)
                            {
                                if (this.stackServers.Children[i - 1] is Separator)
                                {
                                    this.stackServers.Children.RemoveAt(i - 1);
                                }
                            }
                            if (this.stackServers.Children[i - 1] is ServerControl)
                            {
                                this.stackServers.Children.RemoveAt(i - 1);
                            }
                        }
                    }
                }
                m_Servers.ServerSchema.Remove(myServerSchema);
                cmbChooseServer.SelectedItem = m_Servers.ServerSchema[0];
            }

            /*
             * ServerControl servCtrl = new ServerControl();
             * Separator sep = new Separator();
             * if (m_Servers.OneServer)
             * {
             *  sep.Visibility = System.Windows.Visibility.Collapsed;
             * }
             * sep.Width = servCtrl.Width;
             * sep.Height = 10;
             * sep.BorderThickness = new Thickness(10, 10, 10, 10);
             * sep.BorderBrush = Brushes.Black;
             * this.stackServers.Children.Add(sep);
             * ServerSchema newServerSchema = new ServerSchema();
             * m_Servers.ServerSchema.Add(newServerSchema);
             * servCtrl.DataContext = newServerSchema;
             * servCtrl.Visibility = Visibility.Visible;
             * this.stackServers.Children.Add(servCtrl);
             * newServerSchema.Visible = true;
             * newServerSchema.PropertyChanged += m_Application.Model_PropertyChanged;
             * cmbChooseServer.SelectedItem = newServerSchema;
             */
        }
Example #18
0
        private void addFolder_Click(object sender, RoutedEventArgs e)
        {
            ServerSchema myServerSchema = null;

            if (sender is Button)
            {
                Button folderButton = (Button)sender;
                myServerSchema = (ServerSchema)folderButton.DataContext;
            }
            var folderDialog = new System.Windows.Forms.FolderBrowserDialog();

            folderDialog.SelectedPath = myServerSchema.MailFolderPath;
            folderDialog.Description  = "Please choose Mail Directory";
            System.Windows.Forms.DialogResult result = folderDialog.ShowDialog();
            if (result == System.Windows.Forms.DialogResult.OK)
            {
                String fileName = folderDialog.SelectedPath;
                //myServerSchema = (ServerSchema)this.DataContext;
                myServerSchema.MailFolderPath = fileName;
                if (Directory.Exists(fileName))
                {
                    if ((bool)chkRecursive.IsChecked)
                    {
                        long files = -1;
                        try
                        {
                            files = Directory.GetFiles(fileName, myServerSchema.Filter, SearchOption.AllDirectories).LongLength;
                        }
                        catch (Exception ex)
                        {
                        }
                        if (files > 0)
                        {
                            ulong allMails = UInt64.Parse(txtValMails.Text);
                            myServerSchema.MailDir.Add(fileName);
                            myServerSchema.MailsCount = (allMails + (ulong)files);
                        }
                    }
                    else
                    {
                        long files = Directory.GetFiles(fileName, myServerSchema.Filter, SearchOption.TopDirectoryOnly).LongLength;
                        if (files > 0)
                        {
                            ulong allMails = UInt64.Parse(txtValMails.Text);
                            myServerSchema.MailDir.Add(fileName);
                            myServerSchema.MailsCount = (allMails + (ulong)files);
                        }
                    }
                }

                lstMails.GetBindingExpression(ListBox.ItemsSourceProperty).UpdateTarget();
            }
        }
Example #19
0
        private void lstMails_MouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            ListBox    listBox = (ListBox)sender;
            StringItem item    = (StringItem)listBox.SelectedItem;

            if (item != null)
            {
                ServerSchema schema   = (ServerSchema)listBox.DataContext;
                string       fileName = schema.ExternalProgram;

                if (File.Exists(item.Item) && !String.IsNullOrEmpty(fileName))
                {
                    fileName = fileName.Trim();

                    /*
                     * if (fileName.Contains(Tools.sExternalProgVar))
                     * {
                     *  fileName.Replace(Tools.sExternalProgVar, item.Item);
                     * }
                     * else
                     * {
                     *  fileName = fileName.TrimEnd(' ');
                     *  fileName = fileName + " " + item.Item.Trim();
                     * }
                     */

                    Process p = new Process();

                    p.StartInfo.FileName  = fileName;
                    p.StartInfo.Arguments = item.Item.Trim();


                    try
                    {
                        p.Start();
                    }
                    catch (FileNotFoundException ex)
                    {
                        MessageBox.Show("File not found: " + p.StartInfo.FileName, "File not found", MessageBoxButton.OK, MessageBoxImage.Error);
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message + " " + p.StartInfo.FileName, "Unknown Error", MessageBoxButton.OK, MessageBoxImage.Error);
                    }
                }
            }
        }
        private void btnDropDown_Click(object sender, RoutedEventArgs e)
        {
            ShowServerChooser(true);
            m_Servers.OneServer = true;
            //int visible = -1;
            for (int i = 0; i < this.stackServers.Children.Count; i++)
            {
                if (this.stackServers.Children[i] is ServerControl)
                {
                    ServerControl tempServerControl = (ServerControl)this.stackServers.Children[i];
                    ServerSchema  serverSchema      = (ServerSchema)tempServerControl.DataContext;
                    if (serverSchema.Visible)
                    {
                        //visible = i;
                        tempServerControl.Visibility = System.Windows.Visibility.Visible;
                        cmbChooseServer.SelectedItem = serverSchema;
                        Application.Current.Resources["DISPLAYNAME"] = serverSchema.DisplayName;
                    }
                    else
                    {
                        tempServerControl.Visibility = System.Windows.Visibility.Collapsed;
                    }

                    /*
                     * if (tempServerControl.serverExPander.IsExpanded)
                     * {
                     *
                     * }
                     * else
                     * {
                     *  tempServerControl.Visibility = System.Windows.Visibility.Collapsed;
                     * }
                     *
                     * if (tempServerControl.Visibility == System.Windows.Visibility.Collapsed)
                     * {
                     *  tempServerControl.Visibility = System.Windows.Visibility.Visible;
                     * }
                     */
                }
                else if (this.stackServers.Children[i] is Separator)
                {
                    Separator sep = (Separator)this.stackServers.Children[i];
                    sep.Visibility = System.Windows.Visibility.Collapsed;
                }
            }
        }
Example #21
0
        private void chkLogging_Click(object sender, RoutedEventArgs e)
        {
            CheckBox     button          = (CheckBox)sender;
            ServerSchema tmpServerSchema = (ServerSchema)button.DataContext;

            if (button.IsChecked == true)
            {
                Log myLog = new Log();
                //log4net.Config.XmlConfigurator.Configure();
                //log4net.Config.XmlConfigurator.Configure(
            }
            else
            {
                Log.logger.Logger.Repository.ResetConfiguration();
                log4net.LogManager.Shutdown();
                //log4net.Config.
            }
        }
Example #22
0
        private void btnRemoveTenant_Click(object sender, RoutedEventArgs e)
        {
            IList selectedHeaderElements = tenantDisplayName.SelectedItems;



            while (selectedHeaderElements.Count > 0)
            {
                ServerSchema srv = (ServerSchema)tenantDisplayName.DataContext;
                System.Collections.ObjectModel.ObservableCollection <ServerSchemaTenants> colHeader = srv.Tenants;
                bool removeOK = false;
                do
                {
                    if (selectedHeaderElements.Count <= 0)
                    {
                        break;
                    }
                    ServerSchemaTenants toRemove = (ServerSchemaTenants)selectedHeaderElements[0];
                    removeOK = colHeader.Remove(toRemove);
                } while (removeOK);
            }


            /*
             * {
             *
             *  System.Collections.ObjectModel.ObservableCollection<ServerSchemaHeader> colHeader = srv.Header;
             *
             *  foreach (ServerSchemaHeader header in selectedHeaderElements)
             *  {
             *      bool removeOK = false;
             *      do {
             *          removeOK = colHeader.Remove(header);
             *      } while (removeOK);
             *      selectedHeaderElements = headerName.SelectedItems;
             *      if (selectedHeaderElements.Count <= 0)
             *      {
             *          //break;
             *      }
             *  }
             *
             * }
             */
        }
Example #23
0
        private void lstMails_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.Key == Key.Delete)
            {
                ListBox      listBox      = (ListBox)sender;
                ServerSchema serverSchema = (ServerSchema)listBox.DataContext;
                IList        selList      = listBox.SelectedItems;
                StringItem[] fileIndex    = new StringItem[selList.Count];
                selList.CopyTo(fileIndex, 0);
                foreach (StringItem file in fileIndex)
                {
                    serverSchema.MailDir.Remove(file.Item);
                    serverSchema = (ServerSchema)listBox.DataContext;
                }

                serverSchema.MailsCount = CountMails(serverSchema.MailDir.ToArray <String>());
                lstMails.GetBindingExpression(ListBox.ItemsSourceProperty).UpdateTarget();
            }
        }
Example #24
0
        private void SetInitialMailingMethod(ServerSchema tmpServerSchema)
        {
            initial = true;
            rbAnonymous.IsChecked    = tmpServerSchema.AnonymousAuth;
            rbBasic.IsChecked        = tmpServerSchema.BasicAuth;
            rbSubjectNone.IsChecked  = tmpServerSchema.Subject.SubjectNone;
            rbSubjectBegin.IsChecked = tmpServerSchema.Subject.SubjectExtentAtBegin;
            rbSubjectEnd.IsChecked   = tmpServerSchema.Subject.SubjectExtentAtEnd;

            rbSubjectMailNameBegin.IsChecked   = tmpServerSchema.Subject.SubjectMailNameBegin;
            rbSubjectMailNameEnd.IsChecked     = tmpServerSchema.Subject.SubjectMailNameEnd;
            rbSubjectMailNameReplace.IsChecked = tmpServerSchema.Subject.SubjectMailNameReplace;

            rbNoneSSL.IsChecked = tmpServerSchema.NoSSL;
            rbTLS.IsChecked     = tmpServerSchema.UseTLS;
            rbSMTPS.IsChecked   = tmpServerSchema.UseSSLSecuredPort;


            //Parsing mit Lumisoft
            if (!tmpServerSchema.SendOriginal && tmpServerSchema.Parsed)
            {
                rbOriginalMessage.IsChecked = false;
                //rbDeleteMessageID.IsChecked = false;
                //rbNewMessageID.IsChecked = true;
                rbSendOriginal.IsChecked = true;
            }

            if (tmpServerSchema.SendOriginal && !tmpServerSchema.DeleteMessageID && !tmpServerSchema.Parsed)
            {
                rbOriginalMessage.IsChecked = true;
                //rbDeleteMessageID.IsChecked = false;
                rbSendOriginal.IsChecked = false;
                //rbOriginalMessageID.IsChecked = true;
            }
            if (tmpServerSchema.SendOriginal && tmpServerSchema.DeleteMessageID && !tmpServerSchema.Parsed)
            {
                //rbDeleteMessageID.IsChecked = true;
                rbParseHeader.IsChecked  = true;
                rbSendOriginal.IsChecked = false;
            }
            initial = false;
        }
        private void txtDisplayName_TextChanged(object sender, TextChangedEventArgs e)
        {
            TextBox textBox = (TextBox)sender;

            Application.Current.Resources["DISPLAYNAME"] = textBox.Text;
            ServerSchema serverSchema = (ServerSchema)textBox.DataContext;
            //Application.Current.MainWindow.Title = Application.Current.Windows[0].Title;
            //Application.Current.Resources["SAVE"] = false;
            bool saved = (bool)Application.Current.Resources["SAVE"];

            if (!saved)
            {
                Application.Current.MainWindow.Title = serverSchema.DisplayName + " " + Constants.sVersionString;
            }
            else
            {
                Application.Current.MainWindow.Title = serverSchema.DisplayName + " " + Constants.sVersionString + Constants.sChangedString;
            }
            //Application.Current.Windows[0].Title = "0000000000000";
        }
Example #26
0
        private void btnRemoveHeader_Click(object sender, RoutedEventArgs e)
        {
            IList selectedHeaderElements = headerName.SelectedItems;



            while (selectedHeaderElements.Count > 0)
            {
                ServerSchema srv = (ServerSchema)headerName.DataContext;
                System.Collections.ObjectModel.ObservableCollection <ServerSchemaHeader> colHeader = srv.Header;
                bool removeOK = false;
                do
                {
                    if (selectedHeaderElements.Count <= 0)
                    {
                        break;
                    }
                    ServerSchemaHeader toRemove = (ServerSchemaHeader)selectedHeaderElements[0];
                    removeOK = colHeader.Remove(toRemove);
                } while (removeOK);
            }
        }
 public void SetVisibleServer(ServerSchema server)
 {
     for (int i = 0; i < this.stackServers.Children.Count; i++)
     {
         if (this.stackServers.Children[i] is ServerControl)
         {
             ServerControl tempServerControl = (ServerControl)this.stackServers.Children[i];
             ServerSchema  serverSchema      = (ServerSchema)tempServerControl.DataContext;
             if (serverSchema.Equals(server))
             {
                 tempServerControl.Visibility = System.Windows.Visibility.Visible;
                 serverSchema.Visible         = true;
                 //Application.Current.Resources["SAVE"] = false;
                 bool saved = (bool)Application.Current.Resources["SAVE"];
                 if (saved)
                 {
                     Application.Current.MainWindow.Title = serverSchema.DisplayName + " " + Constants.sVersionString;
                 }
                 else
                 {
                     Application.Current.MainWindow.Title = serverSchema.DisplayName + " " + Constants.sVersionString + Constants.sChangedString;
                 }
                 //cmbChooseServer.SelectedItem = serverSchema;
             }
             else
             {
                 tempServerControl.Visibility = System.Windows.Visibility.Collapsed;
                 serverSchema.Visible         = false;
             }
         }
         else if (this.stackServers.Children[i] is Separator)
         {
             Separator sep = (Separator)this.stackServers.Children[i];
             sep.Visibility = System.Windows.Visibility.Collapsed;
         }
     }
 }
        public void MailSendHandler(object sender, RoutedEventArgs e)
        {
            lock (startSemaphore)
            {
                StartMailPanel startMailPanel = null;
                if (sender is StartMailPanel)
                {
                    startMailPanel = (StartMailPanel)sender;
                }
                MainWindow    tempWin           = (MainWindow)Application.Current.MainWindow;
                ServerControl tempServerControl = tempWin.GetServerControl(startMailPanel.Id);
                ServerSchema  mySchema          = (ServerSchema)tempServerControl.DataContext;
                if (!String.IsNullOrEmpty(tempServerControl.resToMailPanel1.txtServer.Text) && !String.IsNullOrEmpty(tempServerControl.resToMailPanel1.txtPort.Text) && !String.IsNullOrEmpty(tempServerControl.resToMailPanel1.txtFrom.Text) && ((!String.IsNullOrEmpty(tempServerControl.resToMailPanel1.txtTo.Text))) || (mySchema.CHKUseRecipientGroup && mySchema.CHKUseSenderGroup) || (!String.IsNullOrEmpty(tempServerControl.resToMailPanel1.txtTo.Text) && mySchema.CHKUseSenderGroup) || !String.IsNullOrEmpty(tempServerControl.resToMailPanel1.txtFrom.Text) && mySchema.CHKUseRecipientGroup)
                {
                    tempServerControl.startMailPanel1.startButton.IsEnabled = false;



                    //startMailPanel1.startButton.IsEnabled = false;
                    if (!tempServerControl.run)
                    {
                        tempServerControl.resToMailPanel1.IsEnabled = false;

                        tempServerControl.mailsPanel.IsEnabled = false;

                        m_connections         = Int32.Parse(mySchema.Connections);
                        tempServerControl.run = true;
                        tempServerControl.mailingOutput.Items.Clear();
                        lock (tempErrorMailCountLock)
                        {
                            TempErrorMailCount = 0;
                        }
                        tempServerControl.resToMailPanel1.txtActMails.Text  = "0";
                        tempServerControl.resToMailPanel1.progressBar.Value = 0;
                        TextBox statusBox = (TextBox)tempServerControl.statusBar.Items[0];
                        statusBox.Text = "";
                        tempServerControl.startMailPanel1.startButton.Content = "Stop";
                        ServerStatus serverStatus = Singleton <ServerSendManager> .Instance.InitialiseServer(tempServerControl.Id, (ServerSchema)tempServerControl.DataContext);

                        //serverStatus.StartTime = DateTime.Now;
                        //serverStatus.Server = (ServerSchema)this.DataContext;
                        serverStatus.ServerImpl.MailsendEvent          += ServerImpl_MailsendEvent;       //new Client.MailsendHandler(ServerImpl_MailsendEvent);
                        serverStatus.ServerImpl.MaxMailsToSendEvent    += ServerImpl_MaxMailsToSendEvent; //new Client.MaxMailsToSendHandler(ServerImpl_MaxMailsToSendEvent);
                        serverStatus.ServerImpl.SendMailEndsEvent      += ServerImpl_SendMailEndsEvent;   //new Client.SendMailEndsHandler(ServerImpl_SendMailEndsEvent);
                        serverStatus.ServerImpl.BeforeMailsentEvent    += ServerImpl_BeforeSentMailSendingEvent;
                        serverStatus.ServerImpl.RequestSendEvent       += ServerImpl_RequestSendEvent;
                        serverStatus.ServerImpl.RequestSendFailedEvent += ServerImpl_RequestSendFailedEvent;
                        serverStatus.ServerImpl.StatusMessageEvent     += ServerImpl_StatusMessageEvent;
                        //serverStatus.ServerImpl.
                        //public delegate void RequestSendHandler(MessageWrapper msg, MailState mailState);
                        //public delegate void RequestSendFailedHandler(MessageWrapper msg, MailState mailState);
                        Singleton <ServerSendManager> .Instance.start(tempServerControl.Id);

                        Console.WriteLine("cool!!!!!!!!!!");
                        tempServerControl.startMailPanel1.startButton.IsEnabled = true;
                        e.Handled = true;
                    }
                    else
                    {
                        //startMailPanel1.startButton.Content = "Start";
                        tempServerControl.run = false;
                        Singleton <ServerSendManager> .Instance.AboardThreads(tempServerControl.Id);
                    }
                }
                else
                {
                    tempServerControl.mailingOutput.Items.Add(new LogMessage("Missing Parameter"));
                }//end if auf Null abfragen
            }
            e.Handled = true;
        }
        private void btnAddServer_Click(object sender, RoutedEventArgs e)
        {
            ServerControl servCtrl = new ServerControl();
            Separator     sep      = new Separator();

            if (m_Servers.OneServer)
            {
                sep.Visibility = System.Windows.Visibility.Collapsed;
            }
            sep.Width           = servCtrl.Width;
            sep.Height          = 10;
            sep.BorderThickness = new Thickness(10, 10, 10, 10);
            sep.BorderBrush     = Brushes.Black;
            this.stackServers.Children.Add(sep);
            ServerSchema newServerSchema = new ServerSchema();

            m_Servers.ServerSchema.Add(newServerSchema);
            servCtrl.DataContext = newServerSchema;
            servCtrl.Visibility  = Visibility.Visible;
            this.stackServers.Children.Add(servCtrl);
            newServerSchema.Visible          = true;
            newServerSchema.PropertyChanged += m_Application.Model_PropertyChanged;
            cmbChooseServer.SelectedItem     = newServerSchema;

            if (m_Servers.OneServer)
            {
                for (int i = 0; i < this.stackServers.Children.Count; i++)
                {
                    if (this.stackServers.Children[i] is ServerControl)
                    {
                        ServerControl serverControl = (ServerControl)this.stackServers.Children[i];
                        if (!serverControl.Equals(servCtrl))
                        {
                            this.stackServers.Children[i].Visibility = System.Windows.Visibility.Collapsed;
                        }
                        ServerSchema serverSchema = (ServerSchema)serverControl.DataContext;
                        if (!serverSchema.Equals(newServerSchema))
                        {
                            serverSchema.Visible = false;
                        }
                    }
                    else if (this.stackServers.Children[i] is Separator)
                    {
                        Separator tempSeparator = (Separator)this.stackServers.Children[i];
                        if (!tempSeparator.Equals(sep))
                        {
                            tempSeparator.Visibility = System.Windows.Visibility.Collapsed;
                        }
                    }
                }
            }
            else
            {
                ShowServerChooser(false);
                m_Servers.OneServer = false;
                for (int i = 0; i < this.stackServers.Children.Count; i++)
                {
                    if (this.stackServers.Children[i] is ServerControl)
                    {
                        ServerControl tempServerControl = (ServerControl)this.stackServers.Children[i];
                        if (tempServerControl.Visibility == System.Windows.Visibility.Collapsed)
                        {
                            tempServerControl.Visibility = System.Windows.Visibility.Visible;
                        }
                    }
                    else if (this.stackServers.Children[i] is Separator)
                    {
                        Separator tempSeparator = (Separator)this.stackServers.Children[i];
                        if (tempSeparator.Visibility == System.Windows.Visibility.Collapsed)
                        {
                            tempSeparator.Visibility = System.Windows.Visibility.Visible;
                        }
                    }

                    /*
                     * if (this.stackServers.Children[i] is ServerControl)
                     * {
                     *  ServerControl serverControl = (ServerControl)this.stackServers.Children[i];
                     *  ServerSchema serverSchema = (ServerSchema)serverControl.DataContext;
                     *  serverSchema.Visible = false;
                     * }
                     */
                }
            }

            /*
             * ServerSchema servSchema = (ServerSchema) this.DataContext;
             * Console.Out.WriteLine(servSchema.MailFrom);
             * Console.Out.WriteLine("Width " + stackServers.DesiredSize.Width);
             * ServerControl stackPanel = (ServerControl)stackServers.Children[0];
             * StackPanel sp = (StackPanel)stackPanel.FindName("outerStackPanel");
             * Console.Out.WriteLine("Width OuterStackpanel: " + sp.DesiredSize.Width.ToString());
             * if (m_Servers != null)
             * {
             *  m_Servers.SaveToFile("Servers2.xml");
             * }
             *
             * ListBox mailsListBox = (ListBox)stackPanel.FindName("lstMails");
             * //mailsListBox.It
             *
             * Window1 wnd1 = new Window1();
             * wnd1.InitializeComponent();
             * wnd1.ShowDialog();
             */
        }
Example #30
0
        private void chkRecursive_Click(object sender, RoutedEventArgs e)
        {
            ServerSchema serverSchema = (ServerSchema)this.DataContext;

            serverSchema.MailsCount = CountMails(serverSchema.MailDir.ToArray <String>());
        }