public override void ShowDialog() { using (var dialog = new ConnectionPropertiesDialog()) { dialog.ConnectionName = Name; dialog.ConnectionDescription = Description; dialog.IsDotted = Style == ConnectionStyle.Dashed; dialog.IsDirectional = Flow == ConnectionFlow.OneWay; dialog.StartText = StartText; dialog.MidText = MidText; dialog.EndText = EndText; dialog.ConnectionColor = ConnectionColor; dialog.Door = Door; if (dialog.ShowDialog() == DialogResult.OK) { Name = dialog.ConnectionName; Description = dialog.ConnectionDescription; Style = dialog.IsDotted ? ConnectionStyle.Dashed : ConnectionStyle.Solid; Flow = dialog.IsDirectional ? ConnectionFlow.OneWay : ConnectionFlow.TwoWay; ConnectionColor = dialog.ConnectionColor; StartText = dialog.StartText; MidText = dialog.MidText; EndText = dialog.EndText; Door = dialog.Door; } } }
private void HandleShowWindowMessage(ShowWindowMessage msg) { switch (msg.Name) { case "NewConnection": { var connectionModel = new Connection(); var newConnectionDialog = new ConnectionPropertiesDialog { DataContext = connectionModel }; var dlgResult = newConnectionDialog.ShowDialog(); if (dlgResult.HasValue && dlgResult.Value) { var model = DataContext as MainViewModel; if (model != null) { model.StoreSources.Add(connectionModel); model.Configuration.ConnectionStrings.Add(new NamedConnectionString { Name = connectionModel.Name, ConnectionString = connectionModel.ConnectionString. ToString() }); model.Configuration.Save(); } } break; } case "EditConnection": { var connectionModel = msg.ViewModel as Connection; if (connectionModel != null) { var editModel = connectionModel.Clone(); var dlg = new ConnectionPropertiesDialog { DataContext = editModel }; var dlgResult = dlg.ShowDialog(); if (dlgResult.HasValue && dlgResult.Value) { connectionModel.Name = editModel.Name; connectionModel.ConnectionString = editModel.ConnectionString; var mvm = DataContext as MainViewModel; if (mvm != null) { mvm.ServerRefresh(connectionModel); } } } break; } case "PrefixesDialog": { var configuration = msg.ViewModel as PolarisConfigurationModel; if (configuration != null) { var oldPrefixes = new List <PrefixConfiguration>(configuration.Prefixes); var dlg = new PrefixesDialog { DataContext = configuration }; var dlgResult = dlg.ShowDialog(); if (dlgResult.HasValue && dlgResult.Value) { configuration.Save(); } else { configuration.Prefixes = oldPrefixes; } } break; } case "CreateStore": { var connection = msg.ViewModel as Connection; if (connection != null) { var storeModel = new Store(connection, Guid.NewGuid().ToString()); var storePropertiesDialog = new StorePropertiesDialog { DataContext = storeModel, Title = "New Store Properties" }; var dlgResult = storePropertiesDialog.ShowDialog(); if (dlgResult.HasValue && dlgResult.Value && msg.Continuation != null) { msg.Continuation(storePropertiesDialog.DataContext); } } break; } case "AboutDialog": { var dlg = new AboutDialog { DataContext = msg.ViewModel }; dlg.ShowDialog(); break; } } }