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()
                });
            }
        }
示例#2
0
        private string GetColumnDataKey(DuplicatesRuleFilter ruleFilter)
        {
            var resultPrefix = ruleFilter.SchemaName;
            var resultSufix  = ruleFilter.ColumnName ?? ruleFilter.Type;

            return($"{resultPrefix}#{resultSufix}");
        }
示例#3
0
 private SearchColumn GetSearchColumnFromFilter(string rootSchemaName,
                                                DuplicatesRuleFilter duplicatesRuleFilter)
 {
     return(new SearchColumn
     {
         ColumnName = duplicatesRuleFilter.ColumnName,
         SchemaName = duplicatesRuleFilter.SchemaName,
         ReferenceSchemaName = rootSchemaName,
         Type = duplicatesRuleFilter.Type
     });
 }