Пример #1
0
        public static void applyFilter(ref List <Alert> alerts, IQueryCollection qu)
        {
            NonFactors.Mvc.Grid.Grid <Alert> grid = new NonFactors.Mvc.Grid.Grid <Alert>(alerts);
            grid.Query = qu;

            System.Linq.Expressions.Expression <Func <Alert, int> > expr = i => i.priority;
            grid.Columns.Add <int>(expr);
            // Filter = new GridColumnFilter<T, TValue>(this);

            System.Linq.Expressions.Expression <Func <Alert, string> > expr2 = i => i.src_ip;
            grid.Columns.Add <string>(expr2);

            System.Linq.Expressions.Expression <Func <Alert, string> > expr3 = i => i.dest_ip;
            grid.Columns.Add <string>(expr3);

            System.Linq.Expressions.Expression <Func <Alert, string> > expr4 = i => i.desc;
            grid.Columns.Add <string>(expr4);

            System.Linq.Expressions.Expression <Func <Alert, DateTime> > expr5 = i => i.time;
            grid.Columns.Add <DateTime>(expr5);

            System.Linq.Expressions.Expression <Func <Alert, int> > expr6 = i => i.protocol;
            grid.Columns.Add <int>(expr6);

            System.Linq.Expressions.Expression <Func <Alert, UInt16> > expr7 = i => i.subprotocol_dest;
            grid.Columns.Add <UInt16>(expr7);

            System.Linq.Expressions.Expression <Func <Alert, UInt16> > expr8 = i => i.subprotocol_src;
            grid.Columns.Add <UInt16>(expr8);


            foreach (IGridColumn column in grid.Columns)
            {
                column.Filter.IsEnabled = true;
                column.Filter.IsMulti   = true;
            }

            IQueryable <Alert> items = grid.Source;

            foreach (IGridProcessor <Alert> p in grid.Processors)
            {
                items = p.Process(items);
            }
            alerts = items.ToList();
        }
Пример #2
0
        public static void applyProtocolFilters(ref List <Alert> alerts, IQueryCollection qu)
        {
            NonFactors.Mvc.Grid.Grid <Alert> grid = new NonFactors.Mvc.Grid.Grid <Alert>(alerts);
            grid.Query = qu;
            System.Linq.Expressions.Expression <Func <Alert, int> > expr = i => i.protocol;
            grid.Columns.Add <int>(expr);
            System.Linq.Expressions.Expression <Func <Alert, UInt16> > expr2 = i => i.subprotocol_dest;
            grid.Columns.Add <UInt16>(expr2);

            System.Linq.Expressions.Expression <Func <Alert, UInt16> > expr3 = i => i.subprotocol_src;
            grid.Columns.Add <UInt16>(expr3);
            foreach (IGridColumn column in grid.Columns)
            {
                column.Filter.IsEnabled = true;
                column.Filter.IsMulti   = true;
            }
            IQueryable <Alert> items = grid.Source;

            foreach (IGridProcessor <Alert> p in grid.Processors)
            {
                items = p.Process(items);
            }
            alerts = items.ToList();
        }