Beispiel #1
0
        /// <inheritdoc cref="IDeduplicationManager.FindSimilarRecordsFromStored"/>
        public DuplicatesCollection FindSimilarRecordsFromStored(FindSimilarRecordsFromStoredRequest request)
        {
            var entityRules = request.SchemaName == request.SourceSchemaName
                                ? _duplicatesRuleManager.GetDuplicatesRules(request.SchemaName)
                                : _duplicatesRuleManager.GetDuplicatesRules(request.SourceSchemaName, request.SchemaName);
            var searchSimilarRecordsRequest = _findSimilarRecordsRequestBuilder.BuildRequest(request);

            return(FindSimilarRecords(entityRules.ToList(), searchSimilarRecordsRequest));
        }
        public string FindSimilarRecordsFromStored(
            FindSimilarRecordsFromStoredRequest findSimilarRecordsFromStoredRequest)
        {
            var result = string.Empty;

            try {
                var duplicates = DeduplicationManager.FindSimilarRecordsFromStored(
                    findSimilarRecordsFromStoredRequest);
                result = JsonConvert.SerializeObject(duplicates);
            } catch (Exception ex) {
                _log.Error("There is error during searching similar records", ex);
            }
            return(result);
        }
Beispiel #3
0
        /// <inheritdoc cref="IFindSimilarRecordsRequestBuilder.BuildRequest(FindSimilarRecordsFromStoredRequest)"/>
        public FindDuplicatesRequest BuildRequest(FindSimilarRecordsFromStoredRequest findSimilarRecordsFromStoredRequest)
        {
            var filters = GetDuplicatesRuleFilters(findSimilarRecordsFromStoredRequest.SchemaName,
                                                   findSimilarRecordsFromStoredRequest.SourceSchemaName);
            var sourceColumnUids = GetColumnUIds(filters);
            var sourceEntity     = GetSourceEntity(findSimilarRecordsFromStoredRequest.SourceId,
                                                   findSimilarRecordsFromStoredRequest.SourceSchemaName, sourceColumnUids);
            var requestModel = GetRequestModel(sourceEntity, filters);
            var result       = new FindDuplicatesRequest {
                SchemaName = findSimilarRecordsFromStoredRequest.SchemaName,
                Columns    = new List <string> {
                    "Id"
                },
                Model = requestModel
            };

            return(result);
        }
Beispiel #4
0
 public FindDuplicatesRequest BuildRequest(UserConnection userConnection,
                                           FindSimilarRecordsFromStoredRequest findSimilarRecordsFromStoredRequest)
 {
     return(BuildRequest(findSimilarRecordsFromStoredRequest));
 }