public List <Guid> FindDuplicatesOnSave(string schemaName, SingleRequest request)
        {
            DeduplicationProcessing deduplicationProcessing =
                ClassFactory.Get <DeduplicationProcessing>(new ConstructorArgument("userConnection", UserConnection));
            List <Guid> result = deduplicationProcessing.FindDuplicates(schemaName, request);

            return(result);
        }
        public void AddToIgnoreList(string schemaName, List <string> deduplicateRecordIds)
        {
            var args = new ConstructorArgument[] {
                new ConstructorArgument("userConnection", UserConnection)
            };
            DeduplicationProcessing deduplicationProcessing = ClassFactory.Get <DeduplicationProcessing>(args);

            deduplicationProcessing.AddToIgnoreList(schemaName, deduplicateRecordIds);
        }
        public string GetDeduplicationResults(string schemaName, string[] columns, int offset)
        {
            DeduplicationProcessing deduplicationProcessing =
                ClassFactory.Get <DeduplicationProcessing>(new ConstructorArgument("userConnection", UserConnection));
            DuplicatesGroupResponse objectResult =
                deduplicationProcessing.GetDeduplicationResults(schemaName, columns, offset);
            string result = JsonConvert.SerializeObject(objectResult);

            return(result);
        }
        public DuplicatesMergeResponse MergeEntityDuplicatesAsync(string schemaName, int groupId, List <Guid> deduplicateRecordIds,
                                                                  string mergeConfig)
        {
            Dictionary <string, string> config = null;

            if (!string.IsNullOrEmpty(mergeConfig))
            {
                config = JsonConvert.DeserializeObject <Dictionary <string, string> >(mergeConfig);
            }
            var args = new ConstructorArgument[] {
                new ConstructorArgument("userConnection", UserConnection)
            };
            DeduplicationProcessing deduplicationProcessing = ClassFactory.Get <DeduplicationProcessing>(args);
            DuplicatesMergeResponse response =
                deduplicationProcessing.MergeEntityDuplicatesAsync(schemaName, groupId, deduplicateRecordIds, config);

            return(response);
        }