Esempio n. 1
0
        /// <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);
            }
        }