Beispiel #1
0
        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);
                }
            }
        }
Beispiel #2
0
        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;
                    }
                }
            }
        }