private async void SaveAndConnect() { try { ConnectionBuilder.BuildConnectionString(); DTEXMLConnection xMLCore = new DTEXMLConnection(); if (isEdit) { var xmlModel = xMLCore.Connections.FirstOrDefault(x => x.ConnectionBuilder.Id == ConnectionBuilder.Id); var index = xMLCore.Connections.IndexOf(xmlModel); xMLCore.Connections.RemoveAt(index); xmlModel.ConnectionBuilder = (ConnectionBuilderBase)ConnectionBuilder; xMLCore.Connections.Insert(index, xmlModel); } else { xMLCore.Connections.Insert(0, new TreeViewModel() { ConnectionBuilder = (ConnectionBuilder as ConnectionBuilderBase) }); } xMLCore.ConnectionSerialize(); } catch (Exception ex) { await dialogCoordinator.ShowMessageAsync(this, $"Error!", $"Error message: {ex.Message} \r\nStackTrace: {ex.StackTrace}"); } }
public ConnectionManagerVM(IDialogCoordinator instance, ConnectionBuilderBase connectionModel = null) { dialogCoordinator = instance; if (connectionModel != null) { isEdit = true; DTEXMLConnection xMLCore = new DTEXMLConnection(); var connection_builder_base = xMLCore.Connections.FirstOrDefault(x => x.ConnectionBuilder.Id == connectionModel.Id)?.ConnectionBuilder; ConnectionBuilder = ConnectionBuilderFactory.CreateConnectionBuilder(connection_builder_base.ConnectionType, connection_builder_base.ConnectionString); ConnectionBuilder.Id = connection_builder_base.Id; ConnectionBuilder.ConnectionName = connection_builder_base.ConnectionName; ConnectionBuilder.InitBuilder(); } else { ConnectionBuilder = ConnectionBuilderFactory.CreateConnectionBuilder(SupportedConnectionsTypes.MySQL); } }