private void btnDeleteUser_Click(object sender, EventArgs e)
        {
            string userType = this.dgvUsersGrid.CurrentRow.Cells["user_type"].Value.ToString();

            if (userType == "Admin")
            {
                MessageBox.Show("Can not delete admin");
                return;
            }

            if (this.dgvUsersGrid.SelectedRows.Count < 1)
            {
                MessageBox.Show("No row selected");
                return;
            }

            string appId = this.dgvUsersGrid.CurrentRow.Cells["appid"].Value.ToString();
            string name  = this.dgvUsersGrid.CurrentRow.Cells["full_name"].Value.ToString();

            if (MessageBox.Show($"Do you want to delete {name}?", "Confirmation", MessageBoxButtons.YesNo) == System.Windows.Forms.DialogResult.No)
            {
                return;
            }

            try
            {
                if (EmployeeRepo.Delete(appId) && LoginRepo.Delete(appId) && UserRepo.Delete(appId))
                {
                    MessageBox.Show(name + " has been deleted successfully");
                    this.PopulateGridView();
                    this.dgvUsersGrid.ClearSelection();
                    this.dgvUsersGrid.Refresh();
                    this.ClearUserInput();
                }
            }
            catch (Exception a)
            {
                MessageBox.Show("Error!" + a.Message);
            }
        }
示例#2
0
    public static void SqlTrigger()
    {
        using (var connection = new SqlConnection(@"context connection=true"))
        {
            connection.Open();

            switch (SqlContext.TriggerContext.TriggerAction)
            {
            case TriggerAction.Insert:
            {
                var command = new SqlCommand(@"SELECT * FROM INSERTED;", connection);
                var reader  = command.ExecuteReader();
                while (reader.Read())
                {
                    var inserted = new Login.Sqlserver.Login(reader);
                    repo.Apply(inserted, "POST", false);
                }

                reader.Close();
            }

            break;

            case TriggerAction.Update:
            {
                var command = new SqlCommand(@"SELECT * FROM INSERTED;", connection);
                var reader  = command.ExecuteReader();
                while (reader.Read())
                {
                    var inserted = new Login.Sqlserver.Login(reader);
                    repo.Apply(inserted, "PUT", false);
                }

                reader.Close();
            }

            break;

            case TriggerAction.Delete:
            {
                var commandDeleted = new SqlCommand(@"SELECT * FROM DELETED;", connection);
                var reader         = commandDeleted.ExecuteReader();
                if (reader.HasRows)
                {
                    while (reader.Read())
                    {
                        var deleted = new Login.Sqlserver.Login(reader);
                        repo.Delete(deleted, false);
                    }

                    reader.Close();
                }
                else
                {
                    SqlContext.Pipe.Send("No rows affected.");
                }
            }

            break;

            default:
                break;
            }
        }
    }