public TableViewModel(string classifierName, string schemaName) { _classifierName = classifierName; _schemaName = schemaName; var propNames = DEKafkaMessageParser.GetPropertiesOfEntityClass(classifierName); columnNameToTypesDict = DEKafkaMessageParser.GetEntityPropertiesTypes(classifierName); foreach (var propName in propNames) { var typeString = columnNameToTypesDict[propName]; if (typeString == "list`1") { continue; } TableColumnViewModel column = new TableColumnViewModel(propName, columnNameToTypesDict[propName]); Columns.Add(column); } _rows.CollectionChanged += Rows_CollectionChanged; }
private bool Match(CompareCondition condition) { var columnTypeString = columnNameToTypesDict[condition.FiledName]; var columnType = TableColumnViewModel.TypeStringToColumnTypeDict[columnTypeString]; if (!TableColumnViewModel.CanCompare(columnType)) { return(false); } var column = ColumnsData[condition.FiledName]; var comparedValue = condition.ComparedValue; switch (condition.Operator) { case CompareOperator.BiggerThan: return(ColumnBiggerThan(column.Value, comparedValue, columnType)); case CompareOperator.SmallerThan: return(ColumnSmallerThan(column.Value, comparedValue, columnType)); case CompareOperator.BiggerThanOrEquals: return(ColumnBiggerThanOrEquals(column.Value, comparedValue, columnType)); case CompareOperator.SmallerThanOrEquals: return(ColumnSmallerThanOrEquals(column.Value, comparedValue, columnType)); case CompareOperator.Equals: return(ColumnEquals(column.Value, comparedValue, columnType)); case CompareOperator.NotEquals: return(ColumnNotEquals(column.Value, comparedValue, columnType)); default: return(false); } }