public async Task ReceiveEditCustomerCommand(object source)
        {
            if (SelectedCustomer != null)
            {
                if (ViewModelRequestingCustomer == null)
                {
                    var temp = await ParentViewModel.Database.GetCustomer(SelectedCustomer.CustomerID);
                    var customerEditViewModel = new Contextual.CustomerEditViewModel(this, temp);
                    ParentViewModel.AddTabContentViewModel(customerEditViewModel);
                    customerEditViewModel.RibbonTabItem.IsSelected = true;

                    foreach (var observer in registeredObservers)
                        observer.ReceiveCustomerEditViewModel(customerEditViewModel);
                }
                else
                {
                    var temp = await ParentViewModel.Database.GetCustomer(SelectedCustomer.CustomerID);

                    ViewModelRequestingCustomer.ReceiveData(temp);
                    ParentViewModel.SelectedContent = ViewModelRequestingCustomer.TabContent;
                    ViewModelRequestingCustomer = null;
                }
            }
        }
 public ContextualTabItem(CustomerEditViewModel parentViewModel)
 {
     InitializeComponent();
     ParentViewModel = parentViewModel;
     Group = parentViewModel.ContextualTabGroup;
 }