/// <inheritDoc /> protected override string BuildConnectionString(ReadOnlySpan <char> dsn, string user, string password, PhpArray options) { var csb = new MySqlConnectionStringBuilder(); // parse and validate the datasource string: DataSourceString.ParseNameValue(dsn, csb, (_csb, name, value) => { // unknown option aliases: if (name.Equals("dbname", StringComparison.OrdinalIgnoreCase)) { name = "Database"; } // _csb[name] = value; }); // if (!string.IsNullOrEmpty(user)) { csb.UserID = user; } if (!string.IsNullOrEmpty(password)) { csb.Password = password; } if (options != null && options.Count != 0) { csb.Pooling = options[PDO.ATTR_PERSISTENT].ToBoolean(); } // return(csb.ConnectionString); }
public override DataSourceString Execute(DatabaseUri databaseUri, BuildSourceField field, DataSourceString dataSource) { Assert.ArgumentNotNull(databaseUri, nameof(databaseUri)); Assert.ArgumentNotNull(field, nameof(field)); Assert.ArgumentNotNull(dataSource, nameof(dataSource)); var propertyType = dataSource["propertytype"] ?? string.Empty; var dialog = new PropertyTypeDialog(propertyType); if (AppHost.Shell.ShowDialog(dialog) != true) { return(null); } propertyType = dialog.PropertyType; SetDataSource(dataSource); if (string.IsNullOrEmpty(propertyType)) { dataSource.Remove("propertytype"); } else { dataSource["propertytype"] = propertyType; } return(dataSource); }
public override DataSourceString Execute(DatabaseUri databaseUri, BuildSourceField field, DataSourceString dataSource) { Assert.ArgumentNotNull(databaseUri, nameof(databaseUri)); Assert.ArgumentNotNull(field, nameof(field)); Assert.ArgumentNotNull(dataSource, nameof(dataSource)); dataSource["hideactions"] = @"true"; return(dataSource); }
public override DataSourceString Execute(DatabaseUri databaseUri, BuildSourceField field, DataSourceString dataSource) { Assert.ArgumentNotNull(databaseUri, nameof(databaseUri)); Assert.ArgumentNotNull(field, nameof(field)); Assert.ArgumentNotNull(dataSource, nameof(dataSource)); var key = GetKey(); var value = dataSource[key] ?? string.Empty; var result = AppHost.Prompt(GetText(), "Data Source Parameter", value); if (result == null) { return(null); } SetDataSource(dataSource); dataSource[key] = result; return(dataSource); }
public override DataSourceString Execute(DatabaseUri databaseUri, BuildSourceField field, DataSourceString dataSource) { Assert.ArgumentNotNull(databaseUri, nameof(databaseUri)); Assert.ArgumentNotNull(field, nameof(field)); Assert.ArgumentNotNull(dataSource, nameof(dataSource)); var itemId = new ItemId(DatabaseTreeViewItem.RootItemGuid); var value = dataSource["datasource"]; if (!string.IsNullOrEmpty(value)) { Guid guid; if (Guid.TryParse(value, out guid)) { itemId = new ItemId(guid); } } var itemUri = new ItemUri(databaseUri, itemId); var dialog = new SelectItemDialog(); dialog.Initialize(Resources.Browse, itemUri); if (AppHost.Shell.ShowDialog(dialog) != true) { return(null); } dataSource.Path = string.Empty; dataSource["datasource"] = dialog.SelectedItemUri.ItemId.ToString(); return(dataSource); }
public override DataSourceString Execute(DatabaseUri databaseUri, BuildSourceField field, DataSourceString dataSource) { Assert.ArgumentNotNull(databaseUri, nameof(databaseUri)); Assert.ArgumentNotNull(field, nameof(field)); Assert.ArgumentNotNull(dataSource, nameof(dataSource)); var query = dataSource.Path; if (query.StartsWith(@"query:", StringComparison.InvariantCultureIgnoreCase)) { query = query.Mid(6); } var dialog = new BuildQueryDialog(query, CustomValidationType.Query); dialog.Title = "Build Query"; if (AppHost.Shell.ShowDialog(dialog) != true) { return(null); } dataSource.Path = @"query:" + dialog.Text; dataSource.Parameters.Clear(); return(dataSource); }
public override DataSourceString Execute(DatabaseUri databaseUri, BuildSourceField field, DataSourceString dataSource) { Assert.ArgumentNotNull(databaseUri, nameof(databaseUri)); Assert.ArgumentNotNull(field, nameof(field)); Assert.ArgumentNotNull(dataSource, nameof(dataSource)); var dialog = new SelectDatabaseDialog { SelectedDatabaseUri = databaseUri }; if (!dialog.ShowDialog()) { return(null); } var d = dialog.SelectedDatabaseUri; if (d == DatabaseUri.Empty) { return(null); } SetDataSource(dataSource); dataSource["databasename"] = d.DatabaseName.ToString(); return(dataSource); }
public override DataSourceString Execute(DatabaseUri databaseUri, BuildSourceField field, DataSourceString dataSource) { Assert.ArgumentNotNull(databaseUri, nameof(databaseUri)); Assert.ArgumentNotNull(field, nameof(field)); Assert.ArgumentNotNull(dataSource, nameof(dataSource)); var itemId = new ItemId(DatabaseTreeViewItem.RootItemGuid); var key = GetKey(); var value = dataSource[key] ?? string.Empty; var n = value.IndexOf(@"|", StringComparison.Ordinal); if (n >= 0) { value = value.Left(n); } if (!string.IsNullOrEmpty(value)) { Guid guid; if (Guid.TryParse(value, out guid)) { itemId = new ItemId(guid); } } var itemUri = new ItemUri(databaseUri, itemId); var dialog = new SelectItemDialog { AllowMultipleSelection = true }; dialog.Initialize(Resources.Browse, itemUri); if (AppHost.Shell.ShowDialog(dialog) != true) { return(null); } value = string.Empty; foreach (var name in dialog.SelectedItemNames) { if (!string.IsNullOrEmpty(value)) { value += @"|"; } value += name; } SetDataSource(dataSource); dataSource[key] = value; return(dataSource); }
public override DataSourceString Execute(DatabaseUri databaseUri, BuildSourceField field, DataSourceString dataSource) { Assert.ArgumentNotNull(databaseUri, nameof(databaseUri)); Assert.ArgumentNotNull(field, nameof(field)); Assert.ArgumentNotNull(dataSource, nameof(dataSource)); var bindMode = dataSource["bindmode"] ?? string.Empty; var dialog = new BindModeDialog(bindMode); if (AppHost.Shell.ShowDialog(dialog) != true) { return(null); } bindMode = dialog.BindMode; SetDataSource(dataSource); if (string.IsNullOrEmpty(bindMode)) { dataSource.Remove("bindmode"); } else { dataSource["bindmode"] = bindMode; } return(dataSource); }
public override DataSourceString Execute(DatabaseUri databaseUri, BuildSourceField field, DataSourceString dataSource) { Assert.ArgumentNotNull(databaseUri, nameof(databaseUri)); Assert.ArgumentNotNull(field, nameof(field)); Assert.ArgumentNotNull(dataSource, nameof(dataSource)); dataSource["allowmultipleselection"] = @"yes"; return(dataSource); }