private void BindExistingDatabases() { string resourceGroup = GetSelectedDatabaseResourceGroup(); if (String.IsNullOrEmpty(resourceGroup)) { return; // application does not require database } // databases WebApplicationGalleryParamControl databaseControl = FindParameterControlByTag(DeploymentParameterWellKnownTag.DBName); if (databaseControl != null && databaseMode.SelectedValue == "existing") { // bind databases SqlDatabase[] databases = ES.Services.DatabaseServers.GetSqlDatabases(PanelSecurity.PackageId, resourceGroup, false); // disable regexp validator databaseControl.ValidationKind &= ~DeploymentParameterValidationKind.RegularExpression; // enable enumeration List <string> databaseNames = new List <string>(); databaseNames.Add(""); // add empty database foreach (SqlDatabase database in databases) { databaseNames.Add(database.Name); } databaseControl.ValidationKind |= DeploymentParameterValidationKind.Enumeration; databaseControl.ValidationString = String.Join(",", databaseNames.ToArray()); // fill users list WebApplicationGalleryParamControl userControl = FindParameterControlByTag(DeploymentParameterWellKnownTag.DBUserName); if (userControl != null) { SqlUser[] users = ES.Services.DatabaseServers.GetSqlUsers(PanelSecurity.PackageId, resourceGroup, false); // disable regexp validator userControl.ValidationKind &= ~DeploymentParameterValidationKind.RegularExpression; // enable enumeration List <string> userNames = new List <string>(); userNames.Add(""); // add empty username foreach (SqlUser user in users) { userNames.Add(user.Name); } userControl.ValidationKind |= DeploymentParameterValidationKind.Enumeration; userControl.ValidationString = String.Join(",", userNames.ToArray()); // username password WebApplicationGalleryParamControl userPasswordControl = FindParameterControlByTag(DeploymentParameterWellKnownTag.DBUserPassword); if (userPasswordControl != null) { userPasswordControl.WellKnownTags &= ~DeploymentParameterWellKnownTag.New; } } } }
protected void repParams_ItemDataBound(object sender, RepeaterItemEventArgs e) { WebApplicationGalleryParamControl paramControl = e.Item.FindControl("param") as WebApplicationGalleryParamControl; if (paramControl != null) { paramControl.BindParameter(e.Item.DataItem as DeploymentParameter); } }
private WebApplicationGalleryParamControl FindParameterControlByTag(DeploymentParameterWellKnownTag tag) { foreach (RepeaterItem item in repParams.Items) { WebApplicationGalleryParamControl paramControl = item.FindControl("param") as WebApplicationGalleryParamControl; if (paramControl != null && (paramControl.WellKnownTags & tag) == tag) { return(paramControl); } } return(null); }
private List <DeploymentParameter> GetParameters() { // get the information about selected database engine string resourceGroup = GetSelectedDatabaseResourceGroup(); DeploymentParameterWellKnownTag databaseEngine = GetSelectedDatabaseEngine(); // collect parameters List <DeploymentParameter> parameters = new List <DeploymentParameter>(); foreach (RepeaterItem item in repParams.Items) { WebApplicationGalleryParamControl paramControl = item.FindControl("param") as WebApplicationGalleryParamControl; if (paramControl != null) { // store parameter in the collection DeploymentParameter param = paramControl.GetParameter(); parameters.Add(param); // set database engine flag param.WellKnownTags &= ~databaseEngineTags; // reset all database flags param.WellKnownTags |= databaseEngine; // set seleced } } // add the information about selected resource group if (!String.IsNullOrEmpty(resourceGroup)) { parameters.Add(new DeploymentParameter() { Name = DeploymentParameter.ResourceGroupParameterName, Value = resourceGroup, WellKnownTags = databaseEngine }); } return(parameters); }