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; } } } }