private void btnOk_Click(object sender, EventArgs e) { using (Man_Ana_UTETableAdapter adapter = new Man_Ana_UTETableAdapter()) { using (DataSet.dsUTE.Man_Ana_UTEDataTable user = adapter.GetDataByLogin(Program.CurrentUser.Login)) { if (user.Rows.Count <= 0) { throw new UtenteNotFoundException(Program.CurrentUser.Nome); } else { DataSet.dsUTE.Man_Ana_UTERow row = (DataSet.dsUTE.Man_Ana_UTERow)user.Rows[0]; if (MD5.getMd5Hash(txtOldPassword.Text) != Utility.CheckNULL(row.UTEPassword, "").ToString().Trim()) { MessageBox.Show(Properties.MessageLocalization.fmrLogin_PasswordNonValida, Properties.MessageLocalization.frmLogin_Errore, MessageBoxButtons.OK, MessageBoxIcon.Error); txtNewPassword.Text = txtRepeatNewPassword.Text = txtOldPassword.Text = string.Empty; txtOldPassword.Focus(); return; } if ((txtNewPassword.Text.Equals(txtRepeatNewPassword.Text)) && (txtNewPassword.Text.Length < 4)) { MessageBox.Show(Properties.MessageLocalization.frmPass_PasswordCorta, Properties.MessageLocalization.frmLogin_Errore, MessageBoxButtons.OK, MessageBoxIcon.Error); txtNewPassword.Text = txtRepeatNewPassword.Text = string.Empty; txtNewPassword.Focus(); return; } if ((txtNewPassword.Text != txtRepeatNewPassword.Text) || ((txtNewPassword.Text.Equals(txtRepeatNewPassword.Text)) && (MD5.getMd5Hash(txtOldPassword.Text) == MD5.getMd5Hash(txtNewPassword.Text)))) { MessageBox.Show(Properties.MessageLocalization.frmPass_PasswordNonCorrispondente, Properties.MessageLocalization.frmLogin_Errore, MessageBoxButtons.OK, MessageBoxIcon.Error); txtNewPassword.Text = txtRepeatNewPassword.Text = string.Empty; txtNewPassword.Focus(); return; } string newPassword = MD5.getMd5Hash(txtNewPassword.Text); row.UTEPassword = Utility.CheckNULL(newPassword, string.Empty).ToString().Trim(); try { adapter.UpdatePassword(row.UTEPassword, row.UTEKey); MessageBox.Show(Properties.MessageLocalization.frmPass_PasswordOK, "Password", MessageBoxButtons.OK, MessageBoxIcon.Information); Program.state_ = Program.PROGRAM_STATE.MAIN_APPLICATION; } catch (Exception error) { MessageBox.Show("[Password: " + error.Message); } this.Close(); } } } }
/// <summary> /// Carica ed effettua il login del nuovo utente /// </summary> /// <param name="utente">Nome utente</param> /// <param name="nomeUtente">Password</param> private void CaricaDatiUtente(string nomeUtente, string password) { using (Man_Ana_UTETableAdapter adapter = new Man_Ana_UTETableAdapter()) { using (Fastener.DataSet.dsUTE.Man_Ana_UTEDataTable user = adapter.GetDataByNomeUtente(nomeUtente)) { if (user.Rows.Count <= 0) { throw new UtenteNotFoundException(nomeUtente); } else { DataSet.dsUTE.Man_Ana_UTERow row = user[0]; if (Utility.CheckNULL(row.UTEPassword, string.Empty).ToString().Trim() != password) { throw new UtenteInvalidPasswordException(); } else { key = Convert.ToInt32(Utility.CheckNULL(row.UTEKey, -1).ToString()); login = Utility.CheckNULL(row.UTELogin, string.Empty).ToString(); nomeNelDominio = Utility.CheckNULL(row.UTEDomainName, string.Empty).ToString(); nome = Utility.CheckNULL(row.UTEName, string.Empty).ToString(); categoria = Convert.ToInt32(Utility.CheckNULL(row.TipoUteKey, -1).ToString()); lingua = Convert.ToInt32(Utility.CheckNULL(row.LANKey, 1).ToString()); azienda = Convert.ToInt32(Utility.CheckNULL(row.AZIKey, 1).ToString()); default_reparto = Convert.ToInt32(Utility.CheckNULL(row.DefRepKey, 1).ToString()); ute_Type_CA = row.IsTipoUteCA_KeyNull() ? (int)Utility.LoginType_CA.Unknown : row.TipoUteCA_Key; cdr_CA = row.IsCDRKeyNull() ? "UNK" : row.CDRKey; const string kDefaultPasswordHash = "baaab6fa3b287456d2ff691027920826"; if (kDefaultPasswordHash == password) { Program.state_ = Program.PROGRAM_STATE.PASSWORD_CHANGE; } else { Program.state_ = Program.PROGRAM_STATE.MAIN_APPLICATION; } LoadProperties(key); } } } } }