private void Mast_Button_UpdatePerson_Click(object sender, RoutedEventArgs e) { if (uint.TryParse(Mast_TextBlock_Person_Id.Text, out uint personId)) { if (Mast_ComboBox_Company.SelectedItem == null) { MessageBox.Show("Wähle eine Firmenzugehörigkeit aus!", "MelBox2", MessageBoxButton.OK, MessageBoxImage.Exclamation); return; } if (Mast_TextBox_Name.Text.Length < 3) { MessageBox.Show("Der Name muss mindestens drei Zeichen lang sein!", "MelBox2", MessageBoxButton.OK, MessageBoxImage.Exclamation); return; } string name = Mast_TextBox_Name.Text; string company = Mast_ComboBox_Company.SelectedValue.ToString(); string email = Mast_TextBox_Email.Text; ulong cellphone = HelperClass.ConvertStringToPhonenumber(Mast_TextBox_Cellphone.Text); string keyWord = Mast_TextBox_KeyWord.Text; string maxInactive = Mast_TextBox_MaxInactivity.Text; bool recEmailChecked = (bool)Mast_CheckBox_RecievesEmail.IsChecked; bool recSmsChecked = (bool)Mast_CheckBox_RecievesSMS.IsChecked; if (recEmailChecked && !HelperClass.IsValidEmailAddress(email)) { MessageBox.Show("E-Mails können nur mit gültiger Email-Adresse gesendet / empfangen werden!", "MelBox2", MessageBoxButton.OK, MessageBoxImage.Exclamation); return; } if (recSmsChecked && cellphone == 0) { MessageBox.Show("SMS können nur mit gültiger Telefonnummer gesendet / empfangen werden!", "MelBox2", MessageBoxButton.OK, MessageBoxImage.Exclamation); return; } MessageType role = MessageType.NoCategory; if (recEmailChecked) { role = MessageType.SentToEmail; } if (recSmsChecked) { role |= MessageType.SentToSms; } int r = sql.UpdatePerson(personId, name, company, email, cellphone.ToString(), keyWord, maxInactive, role); if (r > 0) { _ = MessageBox.Show("Person geändert:\r\n" + name + "\r\nvon Firma " + company, "MelBox2 - Person [" + personId + "] geändert.", MessageBoxButton.OK, MessageBoxImage.Information); Log.Write(Log.Type.Persons, "Person [" + personId + "] geändert: " + name + " von Firma " + company); } GetUnknownPersons(); } }
/// <summary> /// Erzeugt Einen EIntrag in der Nachrichten-Datenbank, Behandelt SMSAbruf-Test, sendet die Nachricht weiter an die aktuell eingeteilte Schicht. /// </summary> /// <param name="messages"></param> private void ProcessRecievedMessages(MessageCollection messages) { //Gsm gsm = new Gsm(); foreach (Message message in messages) { //Nachrichten in Datenbank schreiben uint newMsgId = sql.CreateMessageEntry(message); //Ist message eine Testnachricht? gsm.IsTestSmsRoute(message); if (!sql.IsMessageBlocked(message) && newMsgId != 0) { System.Net.Mail.MailAddressCollection mailAddresses = new System.Net.Mail.MailAddressCollection(); List <uint> sendSmsRecieverIds = new List <uint>(); List <uint> sendMailRecieverIds = new List <uint>(); //Nachrichten an Bereitschaft senden foreach (NightShift shift in sql.GetCurrentShifts()) { if (shift.SendViaSMS) { StatusBarText = "Sende SMS an +" + shift.SendToCellphone; if (shift.SendToCellphone > 0) { sendSmsRecieverIds.Add(sql.GetIdFromEntry("Persons", "Cellphone", shift.SendToCellphone.ToString())); gsm.SendSMS(shift.SendToCellphone, message.Content); //Status gesendet in die Datenbank schreiben. sql.UpdateSentMessageEntry(newMsgId, MessageType.SentToSms, sendSmsRecieverIds); } } if (shift.SendViaEmail) { StatusBarText = "Sende Email..."; sendMailRecieverIds.Add(sql.GetIdFromEntry("Persons", "Name", shift.GuardName)); if (HelperClass.IsValidEmailAddress(shift.SendToEmail)) { mailAddresses.Add(new System.Net.Mail.MailAddress(shift.SendToEmail, shift.GuardName)); SendEmail(mailAddresses, message.Content, message.Content); //Status gesendet in die Datenbank schreiben. sql.UpdateSentMessageEntry(newMsgId, MessageType.SentToEmail, sendMailRecieverIds); } } } } } //Neue Nachrichten anzeigen Timer_LastMessages = sql.GetLastMessagesForShow(); }
private void Mast_Button_CreatePerson_Click(object sender, RoutedEventArgs e) { if (Mast_ComboBox_Company.SelectedItem == null) { MessageBox.Show("Wähle eine Firmenzugehörigkeit aus!", "MelBox2", MessageBoxButton.OK, MessageBoxImage.Exclamation); return; } if (Mast_TextBox_Name.Text.Length < 3) { MessageBox.Show("Der Name muss mindestens drei Zeichen lang sein!", "MelBox2", MessageBoxButton.OK, MessageBoxImage.Exclamation); return; } string name = Mast_TextBox_Name.Text; string company = Mast_ComboBox_Company.SelectedValue.ToString(); string email = Mast_TextBox_Email.Text; ulong cellphone = HelperClass.ConvertStringToPhonenumber(Mast_TextBox_Cellphone.Text); string KeyWord = Mast_TextBox_KeyWord.Text; string MaxInactive = Mast_TextBox_MaxInactivity.Text; bool recEmailChecked = (bool)Mast_CheckBox_RecievesEmail.IsChecked; bool recSmsChecked = (bool)Mast_CheckBox_RecievesSMS.IsChecked; if (recEmailChecked && !HelperClass.IsValidEmailAddress(email)) { MessageBox.Show("E-Mails können nur mit gültiger Email-Adresse gesendet / empfangen werden!", "MelBox2", MessageBoxButton.OK, MessageBoxImage.Exclamation); return; } if (recSmsChecked && cellphone == 0) { MessageBox.Show("SMS können nur mit gültiger Telefonnummer gesendet / empfangen werden!", "MelBox2", MessageBoxButton.OK, MessageBoxImage.Exclamation); return; } MessageType role = MessageType.NoCategory; if (recEmailChecked) { role = MessageType.SentToEmail; } if (recSmsChecked) { role |= MessageType.SentToSms; } uint oldPersonId = sql.GetPersonID(null, email, cellphone, KeyWord); if (oldPersonId != 0) { string oldName = sql.GetPersonNameFromId(oldPersonId); MessageBox.Show(string.Format("Die Person mit \r\nEmail\t{0}\r\nMobilnummer\t{1}\r\nKeyWord\t{2}\r\n gibt es schon unter dem Namen\r\n\t\t{3}\r\n\r\nEs wird keine neue Person erstellt.", email, cellphone, KeyWord, oldName), "MelBox2 - Diese Person gibt es schon.", MessageBoxButton.OK, MessageBoxImage.Error); return; } uint newPersonId = sql.CreatePerson(name, company, email, cellphone.ToString(), KeyWord, MaxInactive, role); Mast_TextBlock_Person_Id.Text = newPersonId.ToString(); if (newPersonId > 0) { _ = MessageBox.Show("Person neu erstellt:\r\n" + name + "\r\nvon Firma " + company, "MelBox2 - Person [" + newPersonId + "] neu erstellt.", MessageBoxButton.OK, MessageBoxImage.Information); Log.Write(Log.Type.Persons, "Person [" + newPersonId + "] neu erstellt: " + name + " von Firma " + company); } //Auswahl verfügbarerer Personen im Kalender aktualisieren. Cal_AvailablePersonal = sql.GetListFromColumn("Persons", "Name", "1=1 LIMIT 50"); }