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); } } }
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(); } }
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); }
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); }
private void rbOriginalMessage_Checked(object sender, RoutedEventArgs e) { RadioButton button = (RadioButton)sender; ServerSchema tmpServerSchema = (ServerSchema)button.DataContext; SetMailingMethod(tmpServerSchema); }
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); } } }
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); }
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); }
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(); }
private void rbBasic_Checked(object sender, RoutedEventArgs e) { RadioButton button = (RadioButton)sender; ServerSchema myServerSchema = (ServerSchema)button.DataContext; myServerSchema.AnonymousAuth = false; myServerSchema.BasicAuth = true; }
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; }
private Servers initialiseConfig(string configFile) { Servers servs = new Servers(); ServerSchema serverSchema = new ServerSchema(); serverSchema.Visible = true; servs.ServerSchema.Add(serverSchema); return(servs); }
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; }
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; */ }
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(); } }
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; } } }
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. } }
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; * } * } * * } */ }
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(); } }
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"; }
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(); */ }
private void chkRecursive_Click(object sender, RoutedEventArgs e) { ServerSchema serverSchema = (ServerSchema)this.DataContext; serverSchema.MailsCount = CountMails(serverSchema.MailDir.ToArray <String>()); }