public TraceLogFilterCondition( string expression, bool isEnabled, FilterConditionAction action) { IsEnabled = isEnabled; Action = action; Expression = expression; }
private void ModifyFilter( DataColumnView column, FilterConditionAction action, object mask = null) { var filter = view.filterable.Filter ?? new TraceLogFilter(); ModifyFilter(filter, column, action, mask); view.filterable.Filter = filter; }
public TraceLogFilterCondition( Expression property, bool isEnabled, FilterRelationKind relation, FilterConditionAction action, object value) { IsEnabled = isEnabled; Action = action; Property = property; Relation = relation; Value = value; }
private void ModifyFilter( TraceLogFilter filter, DataColumnView column, FilterConditionAction action, object mask = null) { Debug.Assert(rowIndex != null); var columnId = filterableColumnsMap[column.ColumnId]; if (columnId != Guid.Empty) { column = view.Columns.First(x => x.ColumnId == columnId); } else { columnId = column.ColumnId; } var providerId = providerIdColumn[rowIndex.Value]; string expr; if (columnId == providerIdColumn.Id) { expr = $"ProviderId == {providerId:B}"; } else if (mask == null) { var field = columnToFieldMap[columnId]; var value = FormatValue(column.UntypedGetValue(rowIndex.Value)); expr = $"ProviderId == {providerId:B} && {field} == {value}"; } else { var field = columnToFieldMap[columnId]; expr = $"ProviderId == {providerId:B} && ({field} & {mask}) != 0"; } filter.Conditions.Add(new TraceLogFilterCondition(expr, true, action)); }