/// <summary> /// This method helps to get all the Duplicate counts in a collection whose hash value count>0 (which is combination of original docs+ duplicate docs) /// </summary> private List <DocumentHashMapEntity> GetDocumentHashValues(IEnumerable <DeduplicationDatasetBEO> lsDataset, string algorithm, string compareType) { List <DocumentHashMapEntity> lsDocumentHash = null; try { var lsCollectionId = new List <string>(); foreach (var datasetInfo in lsDataset) { lsCollectionId.Add(datasetInfo.CollectionId); if (_matterId == string.Empty) { _matterId = datasetInfo.MatterId.ToString(CultureInfo.InvariantCulture); } } var hashTypeId = GetHashTypeId(algorithm, compareType); _vault = VaultRepository.CreateRepository(Convert.ToInt64(_matterId)); var lsCollectionTemp = lsCollectionId.Select(collection => new Guid(collection)).ToList(); if (lsCollectionId.Count > 1) { lsDocumentHash = _vault.GetDocumentDuplicatesAcrossCollections(lsCollectionTemp, hashTypeId); } else { DataSetCollectionId = lsCollectionTemp[0]; lsDocumentHash = _vault.GetDocumentDuplicatesByHashValue(lsCollectionTemp[0], hashTypeId, string.Empty); } GetOriginalDocuments(lsCollectionId); } catch (Exception ex) { EvLog.WriteEntry(_jobid + Constants.EVENT_GENERATE_TASK_KEY, Constants.ErrorForDocumentHashValues + ex.Message); LogException(_jobid, ex, Constants.ErrorForOriginalDocuments, LogCategory.Job, string.Empty, ErrorCodes.ProblemInGenerateTasks); } return(lsDocumentHash); }