/// <summary> /// This method helps to generate tasks to group duplicate documents from vault and search sub-system /// </summary> private void GeneratetasksForGroupOperation(List <DocumentHashMapEntity> lsDocumentHash, string strDuplicateFiledVal) { if (lsDocumentHash.Count > 0) { foreach (var docHasMap in lsDocumentHash) { _task = new DeduplicationJobTaskBEO { IsGroup = true, CollectionId = docHasMap.CollectionId.ToString(), MatterId = _matterId, DocumentReferenceId = docHasMap.DocumentReferenceId, HashValue = docHasMap.HashValue, DuplicateField = strDuplicateFiledVal, DuplicateDocumentCount = lsDocumentHash.Count }; _taskNumber++; _task.TaskNumber = _taskNumber; _task.TaskComplete = false; _task.TaskPercent = 100.0 / lsDocumentHash.Count; _task.TaskKey = DocumentBO.GetDCNNumber(_matterId, docHasMap.CollectionId.ToString(), docHasMap.DocumentReferenceId, _createdByUserName); _tasks.Add(_task); var document = _vault.GetDocumentMasterData(new Guid(_task.CollectionId), _task.DocumentReferenceId); GroupingLogInfo(document, docHasMap, lsDocumentHash); } TaskCount = _tasks.Count; _affectedDocList = _lsAffectedDocument; EvLog.WriteEntry(_jobid + Constants.GenerateTaskGrouping, string.Empty, EventLogEntryType.Information); } }