private void добавитьToolStripMenuItem_Click(object sender, EventArgs e) { UserUpdate frmUserInsert = new UserUpdate(UserUpdate.State.Insert, _sConnStr); if (frmUserInsert.ShowDialog() == DialogResult.OK) { using (var sConn = new SqlConnection(_sConnStr)) { sConn.Open(); var sCommand = new SqlCommand { Connection = sConn, CommandText = @"INSERT INTO Users (login, password, salt, registerDate) VALUES (@Login, @Password, @Salt, @RegistrationDate)" }; var salt = GenerateSalt(); var password = CalcHash(frmUserInsert.Passwprd + salt); var login = frmUserInsert.Login; sCommand.Parameters.AddWithValue("@Login", login); sCommand.Parameters.AddWithValue("@Password", password); sCommand.Parameters.AddWithValue("@Salt", salt); sCommand.Parameters.AddWithValue("@RegistrationDate", frmUserInsert.RegistrationDate); string curLogin = (string)sCommand.ExecuteScalar(); ListViewItem lvi = new ListViewItem(new[] { frmUserInsert.Login, password, frmUserInsert.RegistrationDate.ToLongDateString() }) { Tag = frmUserInsert.RegistrationDate }; lvUsers.Items.Add(lvi); } } }
private void изменитьToolStripMenuItem_Click(object sender, EventArgs e) { UserUpdate frmUserUpdate = new UserUpdate(UserUpdate.State.Update, _sConnStr); foreach (ListViewItem selectedItem in lvUsers.SelectedItems) { var oldLogin = selectedItem.SubItems[0].Text; frmUserUpdate.Login = oldLogin; frmUserUpdate.Passwprd = ""; frmUserUpdate.RegistrationDate = (DateTime)selectedItem.Tag; frmUserUpdate.BtOk = true; string password = ""; if (frmUserUpdate.ShowDialog() == DialogResult.OK) { using (var sConn = new SqlConnection(_sConnStr)) { sConn.Open(); SqlCommand sCommand; if (frmUserUpdate.Passwprd == "") { sCommand = new SqlCommand { Connection = sConn, CommandText = @"UPDATE Users SET login = @Login, registerDate = @RegistrationDate WHERE login = @oldLogin" }; } else { sCommand = new SqlCommand { Connection = sConn, CommandText = @"UPDATE Users SET login = @Login, password = @Password, salt = @Salt, registerDate = @RegistrationDate WHERE login = @oldLogin" }; var salt = GenerateSalt(); password = CalcHash(frmUserUpdate.Passwprd + salt); sCommand.Parameters.AddWithValue("@Password", password); sCommand.Parameters.AddWithValue("@Salt", salt); } sCommand.Parameters.AddWithValue("@oldLogin", oldLogin); sCommand.Parameters.AddWithValue("@Login", frmUserUpdate.Login); sCommand.Parameters.AddWithValue("@RegistrationDate", frmUserUpdate.RegistrationDate); sCommand.ExecuteNonQuery(); selectedItem.SubItems[0].Text = frmUserUpdate.Login; if (password != "") { selectedItem.SubItems[1].Text = password; } selectedItem.SubItems[2].Text = frmUserUpdate.RegistrationDate.ToLongDateString(); lvUsers.Tag = frmUserUpdate.RegistrationDate; } } } }