diff --git a/Program.cs b/Program.cs index c651764..f6df36f 100644 --- a/Program.cs +++ b/Program.cs @@ -23,7 +23,7 @@ namespace dezentrale { public class Program { - public static uint VersionNumber { get; private set; } = 0x22032700; + public static uint VersionNumber { get; private set; } = 0x22032900; public static string VersionString { get; private set; } = $"{VersionNumber:x}"; public static string AppData = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData); diff --git a/view/frmMain.cs b/view/frmMain.cs index f048ab8..e37c566 100644 --- a/view/frmMain.cs +++ b/view/frmMain.cs @@ -543,21 +543,35 @@ namespace dezentrale.view lstMembers.ResumeLayout(false); } + private bool SendMail(FormMail mail, Member m) + { + try + { + if (m == null) return true; + mail.Send(m); + } catch(Exception ex) + { + string msg = ex.Message; + while (ex.InnerException != null) + { + ex = ex.InnerException; + msg += "\r\n" + ex.Message; + } + MessageBox.Show($"Cannot send mail:\r\n{msg}"); + } + return true; + } private void lstMembers_TestMail(object sender, EventArgs e) { - Member m = lstMembers.GetFirstSelectedItem(); - m?.TestMail(); + Member m = lstMembers.GetFirstSelectedItem(); + FormMail testMail = FormMail.GenerateTestmail(); + SendMail(testMail, m); } private void lstMembers_AccountStatusMail(object sender, EventArgs e) { - Member m = lstMembers.GetFirstSelectedItem(); - try - { - m?.AccountStatusMail(); - } catch(Exception ex) - { - MessageBox.Show($"Cannot send account status mail:\r\n{ex.Message}"); - } + Member m = lstMembers.GetFirstSelectedItem(); + FormMail statusMail = FormMail.GenerateSingleMemberStatusReport(); + SendMail(statusMail, m); } private void lstMembers_Edit(object sender, EventArgs e)