private void BtnEditPiece_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                if (dgvPerformancePieces.SelectedIndex != -1 && dgvPerformancePieces.SelectedIndex < performance.PerfromancePieces.Count)
                {
                    int index = cboPerformance.SelectedIndex;
                    ManagePerformancePiece managePerformancePiece = new ManagePerformancePiece(performances[index].Id, performances[index].Name, (PerformancePiece)dgvPerformancePieces.SelectedItem);
                    managePerformancePiece.ShowDialog();

                    //Get the new performance piece data
                    Load();
                    Rebind();
                    cboPerformance.SelectedIndex = index;
                }
                else
                {
                    MessageBox.Show("Please select a piece to edit", "Error");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
        private void BtnAddPiece_Click(object sender, RoutedEventArgs e)
        {
            int index = cboPerformance.SelectedIndex;
            ManagePerformancePiece managePerformancePiece = new ManagePerformancePiece(performances[index].Id, performances[index].Name);

            managePerformancePiece.ShowDialog();

            //Get the new performance piece data
            Load();
            Rebind();
            cboPerformance.SelectedIndex = index;
        }