private SearchQueryFilter BuildSearchQueryFilter(DuplicatesRuleFilter duplicatesRuleFilter, List <DuplicatesColumnData> model) { var schemaColumns = model.Where(column => column.SchemaName == duplicatesRuleFilter.SchemaName); DuplicatesColumnData modelColumn; if (string.IsNullOrEmpty(duplicatesRuleFilter.Type)) { modelColumn = schemaColumns.FirstOrDefault(column => column.ColumnName == duplicatesRuleFilter.ColumnName && string.IsNullOrEmpty(column.Type)); } else { modelColumn = schemaColumns.FirstOrDefault(column => column.Type == duplicatesRuleFilter.Type); } if (modelColumn?.Value == null || modelColumn.Value.FirstOrDefault(value => !string.IsNullOrEmpty(value)) == null) { return(null); } else { return(new SearchQueryFilter { SchemaName = duplicatesRuleFilter.SchemaName, ColumnName = duplicatesRuleFilter.ColumnName, Type = duplicatesRuleFilter.Type, Value = modelColumn.Value.Where(value => !string.IsNullOrEmpty(value)).ToList() }); } }
private string GetColumnDataKey(DuplicatesRuleFilter ruleFilter) { var resultPrefix = ruleFilter.SchemaName; var resultSufix = ruleFilter.ColumnName ?? ruleFilter.Type; return($"{resultPrefix}#{resultSufix}"); }
private SearchColumn GetSearchColumnFromFilter(string rootSchemaName, DuplicatesRuleFilter duplicatesRuleFilter) { return(new SearchColumn { ColumnName = duplicatesRuleFilter.ColumnName, SchemaName = duplicatesRuleFilter.SchemaName, ReferenceSchemaName = rootSchemaName, Type = duplicatesRuleFilter.Type }); }