public virtual void OnVerb(object sender, EventArgs evevent) { if (sender != null && sender is HostVerb) { HostVerb vd = (HostVerb)sender; vd.Invoke((AxHost)axHost); } else { Debug.Fail("Bad verb invocation."); } }
// /// <summary> /// Executes Open/Close on MvvmBinders /// </summary> /// <param name="verb"></param> /// <param name="param"></param> public void Execute(HostVerb verb, object param, object arg = null) { if (verb == HostVerb.Open) { // REQUIRED: The Caption strings must match the x:Name string of the View if (param.ToString() == "Administration") { var binder = GetNewAdministrationView(arg); this.OpenMvvmBinders.Add(binder); } else if (param.ToString() == "Properties") { var binder = GetNewPropertyDetailView(arg); this.OpenMvvmBinders.Add(binder); } else if (param.ToString() == "PropertyEdit") { var binder = GetNewPropertyEditView(arg); this.OpenMvvmBinders.Add(binder); } else if (param.ToString() == "Owners") { var binder = GetNewOwnersView(arg); this.OpenMvvmBinders.Add(binder); } else if (param.ToString() == "ChangeOwner") { var binder = GetNewChangeOwnerView(arg); this.OpenMvvmBinders.Add(binder); } else if (param.ToString() == "OwnershipHistory") { var binder = GetNewOwnershipHistoryView(arg); this.OpenMvvmBinders.Add(binder); } else if (param.ToString() == "EditOwner") { var binder = GetNewOwnerEditView(arg); this.OpenMvvmBinders.Add(binder); } else if (param.ToString() == "FinancialTransaction") { var binder = GetNewFinancialTransactionView(arg); this.OpenMvvmBinders.Add(binder); } else if (param.ToString() == "WaterShutoff") { var binder = GetNewWaterShutoffView(arg); this.OpenMvvmBinders.Add(binder); } else if (param.ToString() == "WaterShutoffEdit") { var binder = GetNewWaterShutoffEditView(arg); this.OpenMvvmBinders.Add(binder); } else if (param.ToString() == "ImportBalances") { var binder = GetNewOwnerBalanceUpdatedView(arg); this.OpenMvvmBinders.Add(binder); } else if (param.ToString() == "GolfCart") { var binder = GetNewGolfCartView(arg); this.OpenMvvmBinders.Add(binder); } else if (param.ToString() == "WaterMeter") { var binder = GetNewWaterMeterView(arg); this.OpenMvvmBinders.Add(binder); } else if (param.ToString() == "WaterMeterEdit") { var binder = GetNewWaterMeterEditView(arg); this.OpenMvvmBinders.Add(binder); } else if (param.ToString() == "WellMeter") { var binder = GetNewWellMeterView(arg); this.OpenMvvmBinders.Add(binder); } else if (param.ToString() == "Invoices") { var binder = GetNewInvoiceView(arg); this.OpenMvvmBinders.Add(binder); } else if (param.ToString() == "Graph Facilities") { var binder = GetNewFacilityUsageGraphView(arg); this.OpenMvvmBinders.Add(binder); } else if (param.ToString() == "Report Carousel") { var binder = GetNewReportCarouselView(arg); this.OpenMvvmBinders.Add(binder); } } else if (verb == HostVerb.Close) { string parameter = param as String; try { var r = this.OpenMvvmBinders.Where(x => x.ViewModel.Caption.Replace(" ", "") == parameter.Replace(" ", "")).FirstOrDefault(); bool result = this.OpenMvvmBinders.Remove(r); // If we are closing one of the Edit forms, raise a refresh PropertyChanged event to let the // detail view(s) know that data may have changed. //if (parameter.Contains("Edit")) //{ // RaisePropertyChanged("Refresh"); //} } catch (Exception ex) { MessageBox.Show("Host Error: " + ex.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error); } } }