protected override void ConfigureContainerBuilder(ContainerBuilder builder) { base.ConfigureContainerBuilder(builder); var eventAggregator = new EventAggregator(); builder.RegisterInstance <IEventAggregator>(eventAggregator).As <IEventAggregator>().SingleInstance(); // just one instance in all application - combos etc.. builder.RegisterType <DatabaseSchemaViewModel>().As <DatabaseSchemaViewModel>().SingleInstance(); builder.RegisterType <MainViewModel>().As <MainViewModel>().SingleInstance(); // one instance --> use in multiple viewmodels builder.RegisterInstance <UISprints>(new UISprints()).As <UISprints>().SingleInstance(); // just one instance as well // well, works as hell .. :-) var confirmation = new ConnectConfirmation() { DatabaseConnection = new Classes.DbConnection() { IsConnected = false }, Title = "Connect to Database", Request = new InteractionRequests.ConnectRequest(eventAggregator) }; confirmation.Request.Notification = confirmation; builder.RegisterInstance <ConnectConfirmation>(confirmation).As <ConnectConfirmation>().SingleInstance(); }
/// <summary> /// Local confirmation of the connect request. /// </summary> /// <param name="header"></param> /// <param name="confirmation"></param> internal abstract void ConnectConfirmation(ConnectConfirmation confirmation, MessageAsyncResult result);
internal void ConnectConfirmation(ConnectConfirmation confirmation, MessageAsyncResult result) { if (confirmation.Succeeded) { ConnectRequest request = (ConnectRequest)result.Request; Connection connection = new Connection(_application, this, confirmation.Identifier.PLCI, request.CalledPartyNumber, request.CallingPartyNumber); Connections.InternalAdd(connection); connection.Inititator = true; connection.Status = ConnectionStatus.D_ConnectPending; result.InvokeCallback(connection); } else { result.InvokeCallback(new CapiException(confirmation.Info)); } }