protected void Roles_Init(object sender, BXCustomAdminFilter.InitEventArgs e) { var val = HttpContext.Current.Request.QueryString["filter_roles"]; if (val != null) { foreach (ListItem li in RolesList.Items) { if (li.Value == val) { li.Selected = true; e.Initialized = true; return; } } } }
protected void Roles_LoadState(object sender, BXCustomAdminFilter.StateEventArgs e) { if (e.State.Contains("roles")) { var roles = e.State["roles"] as string[]; if (roles != null) { foreach (ListItem li in RolesList.Items) li.Selected = Array.IndexOf(roles, li.Value) >= 0; } } if (e.State.Contains("subroles")) { var v = e.State["subroles"]; if (v != null && v is bool) IncludeSubRoles.Checked = (bool)v; } }
protected void Roles_SaveState(object sender, BXCustomAdminFilter.StateEventArgs e) { e.State["roles"] = (from ListItem li in RolesList.Items where li.Selected select li.Value).ToArray(); e.State["subroles"] = IncludeSubRoles.Checked; }
protected void Roles_BuildFilter(object sender, BXCustomAdminFilter.BuildFilterEventArgs e) { List<int> roles = new List<int>(); foreach(ListItem li in RolesList.Items) { int i; if (li.Selected && int.TryParse(li.Value, out i) && i > 0 && !roles.Contains(i)) roles.Add(i); } if (roles.Count == 0) return; e.Result.Add("CheckRoles", roles, IncludeSubRoles.Checked ? BXSqlFilterOperators.In : BXSqlFilterOperators.Equal); }