private void btnCustomerEdit_Click(object sender, RoutedEventArgs e)
        {
            EditCustomerWindow editCustomerWindow = new EditCustomerWindow();

            editCustomerWindow.Customer = Customer;
            editCustomerWindow.Owner    = RibbonApp.Database.Configuration.MainWindow;
            editCustomerWindow.WindowStartupLocation = WindowStartupLocation.CenterOwner;
            editCustomerWindow.ShowDialog();
        }
        private void DataOperation(object sender)
        {
            // create an event listener to refresh info on database updates
            DatabaseOperations.DataUpdateComplete += UpdateAllData;

            var btn = sender as Button;

            //todo_done cleanup repeated code.
            if (btn.Name == "btnEditMovie")
            {
                var editDialog = new EditMovieWindow(MovieNames.SelectedItem as MovieModel);
                editDialog.ShowDialog();
            }
            else if (btn.Name == "btnNewMovie")
            {
                var addDialog = new AddNewMovieWindow();
                addDialog.ShowDialog();
            }
            else if (btn.Name == "btnEditCust")
            {
                var editCustDialog = new EditCustomerWindow(CustomerNames.SelectedItem as CustomerModel);
                editCustDialog.ShowDialog();
            }
            else if (btn.Name == "btnNewCustomer")
            {
                var addDialog = new NewCustomerWindow();
                addDialog.ShowDialog();
            }
            else if (btn.Name == "btnDeleteMovie")
            {
                var movie  = MovieNames.SelectedItem as MovieModel;
                var choice = MessageBox.Show($"Are you sure you want to delete \"{movie.Title}\"?", "Confirm Delete", MessageBoxButton.OKCancel);
                if (choice == MessageBoxResult.OK)
                {
                    new DatabaseOperations().DeleteMovieFromTable(movie);
                }
            }
            else if (btn.Name == "btnDeleteCust")
            {
                var cust   = CustomerNames.SelectedItem as CustomerModel;
                var choice = MessageBox.Show($"Are you sure you want to delete \"{cust.FullName}\"?", "Confirm Delete", MessageBoxButton.OKCancel);
                if (choice == MessageBoxResult.OK)
                {
                    new DatabaseOperations().DeleteCustomerFromTable(cust);
                }
            }

            // since the event is static (to make it global), detach listener to avoid duplicate event triggers
            DatabaseOperations.DataUpdateComplete -= UpdateAllData;
        }