From 16c009b4320d757b346ec6cef9bad1b32dfec256 Mon Sep 17 00:00:00 2001 From: Tim Young Date: Fri, 11 Aug 2017 14:34:35 -0500 Subject: [PATCH] Move change password logic to person --- EduNetworkBuilder/PersonClass.cs | 39 ++++++++++++++++++++++++++ EduNetworkBuilder/PersonProfileForm.cs | 31 +------------------- 2 files changed, 40 insertions(+), 30 deletions(-) diff --git a/EduNetworkBuilder/PersonClass.cs b/EduNetworkBuilder/PersonClass.cs index b3b8a91..eb8abbb 100644 --- a/EduNetworkBuilder/PersonClass.cs +++ b/EduNetworkBuilder/PersonClass.cs @@ -98,6 +98,45 @@ namespace EduNetworkBuilder Password = NewPassword; } + public void ChangePassword(bool TryOnce=false) + { + bool done = false; + while (!done) + { + if (TryOnce) done = true; //Just attempt it once. + string OldPassword = ""; + if (Password != "") + { + OldPassword = NB.TextPromptBox(NB.Translate("PPF_OldPassword"), Properties.Resources.NBIco, true); + if (OldPassword != Password) + { + MessageBox.Show(NB.Translate("PPF_PassMismatch")); + continue; + } + } + //The passwords match, or there was no initial password. + string Password1 = NB.TextPromptBox(NB.Translate("PPF_NewPass"), Properties.Resources.NBIco, true); + if (Password1.Length < 4) + { + MessageBox.Show(NB.Translate("PPF_PassTooShort")); + continue; + } + if (Password1 == OldPassword) + { + MessageBox.Show(NB.Translate("PPF_PassDidNotChange")); + continue; + } + string Password2 = NB.TextPromptBox(NB.Translate("PPF_VerifyPass"), Properties.Resources.NBIco, true); + if (Password1 != Password2) + { + MessageBox.Show(NB.Translate("PPF_PassValidateMismatch")); + continue; + } + ChangePassword(Password1); + done = true; + } + } + #region Load and Save //Load and save functions public bool Load(string filename, string password = "") diff --git a/EduNetworkBuilder/PersonProfileForm.cs b/EduNetworkBuilder/PersonProfileForm.cs index aaf8da4..baeda22 100644 --- a/EduNetworkBuilder/PersonProfileForm.cs +++ b/EduNetworkBuilder/PersonProfileForm.cs @@ -342,36 +342,7 @@ namespace EduNetworkBuilder private void btnChangePassword_Click(object sender, EventArgs e) { - string OldPassword = ""; - if (CurrentUser.Password != "") - { - OldPassword = NB.TextPromptBox(NB.Translate("PPF_OldPassword"), Properties.Resources.NBIco, true); - if(OldPassword != CurrentUser.Password) - { - MessageBox.Show(NB.Translate("PPF_PassMismatch")); - return; - } - } - //The passwords match, or there was no initial password. - string Password1 = NB.TextPromptBox(NB.Translate("PPF_NewPass"), Properties.Resources.NBIco, true); - if(Password1.Length < 4) - { - MessageBox.Show(NB.Translate("PPF_PassTooShort")); - return; - } - if(Password1 == OldPassword) - { - MessageBox.Show(NB.Translate("PPF_PassDidNotChange")); - return; - } - string Password2 = NB.TextPromptBox(NB.Translate("PPF_VerifyPass"), Properties.Resources.NBIco, true); - if(Password1 != Password2) - { - MessageBox.Show(NB.Translate("PPF_PassValidateMismatch")); - return; - } - - CurrentUser.ChangePassword(Password1); + CurrentUser.ChangePassword(true); //Try to change it once. } public Font GetFont()