Esempio n. 1
0
        private void FillRoleEditorLayoutTabs()
        {
            cmBRoleEditorLayoutTabs.Items.Clear();

            cmBRoleEditorLayoutTabs.Items.Add("All");

            var tabs = RoleEditorLayoutTab.GetTabs();

            foreach (var tab in tabs)
            {
                cmBRoleEditorLayoutTabs.Items.Add(tab);
            }

            cmBRoleEditorLayoutTabs.SelectedIndex = 0;
        }
Esempio n. 2
0
        public IEnumerable <T> FilterList <T>(IEnumerable <T> list, Func <T, Privilege> selector)
        {
            this.FilterChanged = false;

            RoleEditorLayoutTab selectedTab = null;

            this.Dispatcher.Invoke(() =>
            {
                selectedTab = cmBRoleEditorLayoutTabs.SelectedItem as RoleEditorLayoutTab;
            });

            var funcs = GetFilters();

            var result = list;

            result = result.Where(e => funcs.All(f => f.Item1(selector(e)) == f.Item2));

            if (selectedTab != null)
            {
                result = result.Where(ent => selector(ent) != null && selector(ent).PrivilegeId.HasValue&& selectedTab.PrivilegesHash.Contains(selector(ent).PrivilegeId.Value));
            }

            return(result);
        }