protected void DatabaseAccessGrid_Databound(object sender, DataGridItemEventArgs e) { if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item) { SqlDatabase database = databases[(string)DatabaseAccessGrid.DataKeys[e.Item.ItemIndex]]; if (sqlLogin.GetUserName(database.Name) != null) { CheckBox cb = e.Item.FindControl("DatabaseAccess") as CheckBox; if (cb != null) { cb.Checked = true; } } } }
private bool Save() { SqlServer server = SqlServer.CurrentServer; try { server.Connect(); } catch (System.Exception ex) { //Response.Redirect("Error.aspx?errorPassCode=" + 2002); Response.Redirect(String.Format("error.aspx?errormsg={0}&stacktrace={1}", Server.UrlEncode(ex.Message), Server.UrlEncode(ex.StackTrace))); } try { // Save Login settings sqlLogin = server.Logins[Request["Login"]]; if (SecurityAccess.Enabled) { sqlLogin.DenyNTLogin = SecurityAccess.SelectedValue == "Deny" ? true : false; } sqlLogin.Database = DefaultDatabase.SelectedValue; sqlLogin.Language = DefaultLanguage.SelectedValue; // Save server roles foreach (ListItem item in ServerRoles.Items) { if (sqlLogin.IsMember(item.Value) && !item.Selected) { server.Roles[item.Value].DropMember(sqlLogin.Name); } else if (!sqlLogin.IsMember(item.Value) && item.Selected) { server.Roles[item.Value].AddMember(sqlLogin.Name); } } databases = server.Databases; // Save database access foreach (DataGridItem item in DatabaseAccessGrid.Items) { SqlDatabase database = databases[(string)DatabaseAccessGrid.DataKeys[item.ItemIndex]]; CheckBox cb = item.FindControl("DatabaseAccess") as CheckBox; if (database != null && cb != null) { string dbName = sqlLogin.GetUserName(database.Name); if (dbName != null && !cb.Checked) { database.Users[dbName].Remove(); } else if (dbName == null && cb.Checked) { database.Users.Add(sqlLogin.Name, sqlLogin.Name); } } } } catch (Exception ex) { ErrorMessage.Text = ex.Message; return false; } finally { server.Disconnect(); } return true; }
private bool Save() { SqlServer server = SqlServer.CurrentServer; server.Connect(); try { // Save Login settings sqlLogin = server.Logins[Request["Login"]]; if (SecurityAccess.Enabled) { sqlLogin.DenyNTLogin = SecurityAccess.SelectedValue == "Deny"?true:false; } sqlLogin.Database = DefaultDatabase.SelectedValue; sqlLogin.Language = DefaultLanguage.SelectedValue; // Save server roles foreach (ListItem item in ServerRoles.Items) { if (sqlLogin.IsMember(item.Value) && !item.Selected) { server.Roles[item.Value].DropMember(sqlLogin.Name); } else if (!sqlLogin.IsMember(item.Value) && item.Selected) { server.Roles[item.Value].AddMember(sqlLogin.Name); } } databases = server.Databases; // Save database access foreach (DataGridItem item in DatabaseAccessGrid.Items) { SqlDatabase database = databases[(string)DatabaseAccessGrid.DataKeys[item.ItemIndex]]; CheckBox cb = item.FindControl("DatabaseAccess") as CheckBox; if (database != null && cb != null) { string dbName = sqlLogin.GetUserName(database.Name); if (dbName != null && !cb.Checked) { database.Users[dbName].Remove(); } else if (dbName == null && cb.Checked) { database.Users.Add(sqlLogin.Name, sqlLogin.Name); } } } } catch (Exception ex) { ErrorMessage.Text = ex.Message; return(false); } finally { server.Disconnect(); } return(true); }