コード例 #1
0
 public LawDocumentManager(LawImportBEO jobParams, string jobRunId, string workerInstanceId, DatasetBEO datasetDetails)
 {
     _jobParams = jobParams;
     _jobRunId = jobRunId;
     _workerInstanceId = workerInstanceId;
     _datasetDetails = datasetDetails;
 }
コード例 #2
0
 public LawDocumentManager(LawImportBEO jobParams, string jobRunId, string workerInstanceId, DatasetBEO datasetDetails)
 {
     _jobParams        = jobParams;
     _jobRunId         = jobRunId;
     _workerInstanceId = workerInstanceId;
     _datasetDetails   = datasetDetails;
 }
コード例 #3
0
 public LawOverlayDocumentManager(LawImportBEO jobParams, DatasetBEO datasetBEO, string jobRunId, string workerInstanceId)
 {
     _jobParams        = jobParams;
     _datasetBEO       = datasetBEO;
     _jobRunId         = jobRunId;
     _workerInstanceId = workerInstanceId;
     _overlayNewAndOldDocumentIdPairs = new Dictionary <string, string>();
 }
コード例 #4
0
        /// <summary>
        /// To create dataset fields that are selected for law imprort
        /// </summary>
        private void CreateSelectedLawFields()
        {
            if (_jobParams == null)
            {
                _jobParams = GetJobParams(BootParameters);
            }
            _selectedFields = _jobParams.MappingFields;
            var dataSetNewFields      = new List <FieldBEO>();
            var dataTypes             = DataSetTemplateBO.GetDataTypeAndDataFormatList();
            var dataSetExistingFields = DataSetBO.GetDataSetFields(_jobParams.DatasetId, _jobParams.CollectionId);

            dataSetExistingFields = dataSetExistingFields ?? new List <FieldBEO>();
            foreach (var mappedField in _jobParams.MappingFields.FindAll(x => string.IsNullOrEmpty(x.MappingFieldId)))
            {
                if (string.IsNullOrEmpty(mappedField.MappingFieldName))
                {
                    continue;
                }

                var dataSetField = dataSetExistingFields.FirstOrDefault(
                    dsField =>
                    !string.IsNullOrEmpty(dsField.Name) &&
                    dsField.Name.ToLower().Equals(mappedField.MappingFieldName.ToLower()));
                if (dataSetField != null)
                {
                    //If mapped field already exists in dataset then don't create
                    continue;
                }

                var field = new FieldBEO
                {
                    Name                 = mappedField.MappingFieldName,
                    IsReadable           = true,
                    IsSingleEntry        = true,
                    IsHiddenField        = false,
                    IsValidateDateValues = true,
                    CharacterLength      = 10,
                    ModifiedBy           = _jobParams.CreatedBy
                };
                SetFieldDataType(field, mappedField, dataTypes);
                dataSetNewFields.Add(field);
            }
            if (!dataSetNewFields.Any())
            {
                return;
            }
            DataSetBO.AddBulkFields(_jobParams.FolderId, dataSetNewFields, _jobParams.CreatedBy);
            SetFieldIdForCreatedFields(_jobParams.MappingFields);
        }
コード例 #5
0
        /// <summary>
        /// To generate message and pass to the next worker with collection of documents in a batch
        /// </summary>
        /// <returns></returns>
        protected override bool GenerateMessage()
        {
            try
            {
                OutputDataPipe.ShouldNotBe(null);
                if (_jobParams == null)
                {
                    _jobParams = GetJobParams(BootParameters);
                }
                var documents =
                    LawBO.GetDocuments(_jobParams.LawCaseId, _selectedFields, _selectedTags, _jobParams.TagFilters);

                if (documents != null)
                {
                    var localDocumentList = new List <RVWDocumentBEO>();
                    foreach (var doc in documents)
                    {
                        doc.DocumentId = GetDocumentId();
                        //Setting the Cross Reference field with LAW DocID by default
                        doc.CrossReferenceFieldValue = doc.LawDocumentId.ToString(CultureInfo.InvariantCulture);
                        localDocumentList.Add(doc);
                        if (localDocumentList.Count % _batchSize != 0)
                        {
                            continue;
                        }
                        ProcessMessage(localDocumentList);
                        localDocumentList.Clear();
                    }

                    //Sending remaining documents for process
                    if (localDocumentList.Any())
                    {
                        ProcessMessage(localDocumentList);
                    }
                }
            }
            catch (Exception ex)
            {
                LogMessage(false, ex.ToUserString());
                ReportToDirector(ex.ToUserString());
                throw;
            }

            LogMessage(true, Constants.ParserSuccessMessage);
            return(true);
        }
コード例 #6
0
        /// <summary>
        /// Worker begin work event
        /// </summary>
        protected override void BeginWork()
        {
            try
            {
                base.BeginWork();
                _jobParams = GetJobParams(BootParameters);
                _jobParams.ShouldNotBe(null);
                _jobParams.FolderId.ShouldBeGreaterThan(0);

                _datasetDetails = DataSetBO.GetDataSetDetailForDataSetId(_jobParams.FolderId);
                var matterDetails =
                    MatterDAO.GetMatterDetails(_jobParams.MatterId.ToString(CultureInfo.InvariantCulture));
                matterDetails.ShouldNotBe(null);
                _datasetDetails.Matter = matterDetails;
                var searchServerDetails = ServerDAO.GetSearchServer(matterDetails.SearchServer.Id);
                searchServerDetails.ShouldNotBe(null);
                _datasetDetails.Matter.SearchServer = searchServerDetails;

                if (!LawBO.TestServerConnection(_jobParams.LawCaseId))
                {
                    ReportToDirector("Failed to connect Law server. Please see application log for details.");
                }

                if (EVHttpContext.CurrentContext == null)
                {
                    // Moq the session
                    MockSession(_jobParams.CreatedBy);
                }

                //Create fields for selected law fields
                CreateSelectedLawFields();

                //Create tags for selected law tags
                CreateSelectedLawTags();

                //Law import batch size for documents
                _batchSize = GetMessageBatchSize();
            }
            catch (Exception ex)
            {
                //Send log infor to Log worker
                LogMessage(false, ex.ToUserString());
                ReportToDirector(ex.ToUserString());
                throw;
            }
        }
コード例 #7
0
 /// <summary>
 /// Begins the worker process.
 /// </summary>
 protected override void BeginWork()
 {
     try
     {
         base.BeginWork();
         _jobParams = GetJobParams();
         if (EVHttpContext.CurrentContext == null)
         {
             // Moq the session
             MockSession(_jobParams.CreatedBy);
         }
     }
     catch (Exception ex)
     {
         ReportToDirector(ex);
         ex.Trace().Swallow();
     }
 }
コード例 #8
0
        /// <summary>
        /// To create dataset tags that are selected for law imprort
        /// </summary>
        private void CreateSelectedLawTags()
        {
            if (_jobParams == null)
            {
                _jobParams = GetJobParams(BootParameters);
            }
            if (_jobParams.MappingTags == null)
            {
                return;
            }
            _selectedTags = _jobParams.MappingTags;

            var allDatasetTags = RVWTagBO.GetTagDefinitions(_jobParams.MatterId.ToString(CultureInfo.InvariantCulture), _jobParams.CollectionId, "All", false, null);

            allDatasetTags = allDatasetTags ?? new List <RVWTagBEO>();

            foreach (var lawTag in _selectedTags.FindAll(x => string.IsNullOrEmpty(x.MappingTagId)))
            {
                var mappedDsTag = allDatasetTags.FirstOrDefault(
                    dsTag => string.IsNullOrEmpty(dsTag.Name) && dsTag.Name.ToLower().Equals(lawTag.MappingTagName));
                if (mappedDsTag != null)
                {
                    //If the tag is already created then continue
                    lawTag.MappingTagId = mappedDsTag.Id.ToString(CultureInfo.InvariantCulture);
                    continue;
                }
                var tag = new RVWTagBEO
                {
                    Name         = lawTag.MappingTagName,
                    IsSystemTag  = lawTag.IsSystemTag,
                    IsPrivateTag = false,
                    Scope        = TagScope.Document,
                    Type         = TagType.Tag,
                    MatterId     = _jobParams.MatterId,
                    CollectionId = _jobParams.CollectionId
                };
                lawTag.MappingTagId = RVWTagBO.CreateTag(tag).ToString(CultureInfo.InvariantCulture);
            }
        }
コード例 #9
0
        protected override void BeginWork()
        {
            try
            {
                base.BeginWork();
                _jobParams = GetImportBEO(BootParameters);

                if (_jobParams != null && !string.IsNullOrEmpty(_jobParams.CreatedBy))
                {
                    //Get User Information , Its needed for search
                    _userInfo            = UserBO.AuthenticateUsingUserGuid(_jobParams.CreatedBy);
                    _userInfo.CreatedBy  = _jobParams.CreatedBy;
                    _isIncludeNativeFile = (_jobParams.IsImportNative);
                }
                //Law import batch size for documents
                _batchSize = GetMessageBatchSize();
            }
            catch (Exception ex)
            {
                ReportToDirector(ex.ToUserString());
                ex.Trace().Swallow();
            }
        }
コード例 #10
0
        protected override void BeginWork()
        {
            try
            {
                base.BeginWork();
                _jobParams = GetImportBEO(BootParameters);

                if (_jobParams != null && !string.IsNullOrEmpty(_jobParams.CreatedBy))
                {
                    //Get User Information , Its needed for search
                    _userInfo = UserBO.AuthenticateUsingUserGuid(_jobParams.CreatedBy);
                    _userInfo.CreatedBy = _jobParams.CreatedBy;
                    _isIncludeNativeFile = (_jobParams.IsImportNative);
                }
                //Law import batch size for documents
                _batchSize = GetMessageBatchSize();
            }
            catch (Exception ex)
            {
                ReportToDirector(ex.ToUserString());
                ex.Trace().Swallow();
            }
        }
コード例 #11
0
        /// <summary>
        /// To generate message and pass to the next worker with collection of documents in a batch
        /// </summary>
        /// <returns></returns>
        protected override bool GenerateMessage()
        {
            try
            {
                OutputDataPipe.ShouldNotBe(null);
                if (_jobParams == null) _jobParams = GetJobParams(BootParameters);
                var documents =
                    LawBO.GetDocuments(_jobParams.LawCaseId, _selectedFields, _selectedTags, _jobParams.TagFilters);

                if (documents != null)
                {
                    var localDocumentList = new List<RVWDocumentBEO>();
                    foreach (var doc in documents)
                    {
                        doc.DocumentId = GetDocumentId();
                        //Setting the Cross Reference field with LAW DocID by default
                        doc.CrossReferenceFieldValue = doc.LawDocumentId.ToString(CultureInfo.InvariantCulture);
                        localDocumentList.Add(doc);
                        if (localDocumentList.Count%_batchSize != 0) continue;
                        ProcessMessage(localDocumentList);
                        localDocumentList.Clear();
                    }

                    //Sending remaining documents for process
                    if (localDocumentList.Any()) ProcessMessage(localDocumentList);
                }
            }
            catch (Exception ex)
            {
                LogMessage(false, ex.ToUserString());
                ReportToDirector(ex.ToUserString());
                throw;
            }

            LogMessage(true, Constants.ParserSuccessMessage);
            return true;
        }
コード例 #12
0
        /// <summary>
        /// Worker begin work event 
        /// </summary>
        protected override void BeginWork()
        {
            try
            {
                base.BeginWork();
                _jobParams = GetJobParams(BootParameters);
                _jobParams.ShouldNotBe(null);
                _jobParams.FolderId.ShouldBeGreaterThan(0);

                _datasetDetails = DataSetBO.GetDataSetDetailForDataSetId(_jobParams.FolderId);
                var matterDetails =
                    MatterDAO.GetMatterDetails(_jobParams.MatterId.ToString(CultureInfo.InvariantCulture));
                matterDetails.ShouldNotBe(null);
                _datasetDetails.Matter = matterDetails;
                var searchServerDetails = ServerDAO.GetSearchServer(matterDetails.SearchServer.Id);
                searchServerDetails.ShouldNotBe(null);
                _datasetDetails.Matter.SearchServer = searchServerDetails;

                if (!LawBO.TestServerConnection(_jobParams.LawCaseId))
                    ReportToDirector("Failed to connect Law server. Please see application log for details.");

                if (EVHttpContext.CurrentContext == null)
                {
                    // Moq the session
                    MockSession(_jobParams.CreatedBy);
                }

                //Create fields for selected law fields
                CreateSelectedLawFields();

                //Create tags for selected law tags
                CreateSelectedLawTags();

                //Law import batch size for documents
                _batchSize = GetMessageBatchSize();
            }
            catch (Exception ex)
            {
                //Send log infor to Log worker
                LogMessage(false, ex.ToUserString());
                ReportToDirector(ex.ToUserString());
                throw;
            }
        }
コード例 #13
0
        /// <summary>
        /// To create dataset fields that are selected for law imprort
        /// </summary>
        private void CreateSelectedLawFields()
        {

            if (_jobParams == null) _jobParams = GetJobParams(BootParameters);
            _selectedFields = _jobParams.MappingFields;
            var dataSetNewFields = new List<FieldBEO>();
            var dataTypes = DataSetTemplateBO.GetDataTypeAndDataFormatList();
            var dataSetExistingFields = DataSetBO.GetDataSetFields(_jobParams.DatasetId, _jobParams.CollectionId);
            dataSetExistingFields = dataSetExistingFields ?? new List<FieldBEO>();
            foreach (var mappedField in _jobParams.MappingFields.FindAll(x => string.IsNullOrEmpty(x.MappingFieldId)))
            {
                if (string.IsNullOrEmpty(mappedField.MappingFieldName)) continue;

                var dataSetField = dataSetExistingFields.FirstOrDefault(
                    dsField =>
                        !string.IsNullOrEmpty(dsField.Name) &&
                        dsField.Name.ToLower().Equals(mappedField.MappingFieldName.ToLower()));
                if (dataSetField != null)
                {
                    //If mapped field already exists in dataset then don't create 
                    continue;
                }

                var field = new FieldBEO
                {
                    Name = mappedField.MappingFieldName,
                    IsReadable = true,
                    IsSingleEntry = true,
                    IsHiddenField = false,
                    IsValidateDateValues = true,
                    CharacterLength = 10,
                    ModifiedBy = _jobParams.CreatedBy
                };
                SetFieldDataType(field, mappedField, dataTypes);
                dataSetNewFields.Add(field);
            }
            if (!dataSetNewFields.Any()) return;
            DataSetBO.AddBulkFields(_jobParams.FolderId, dataSetNewFields, _jobParams.CreatedBy);
            SetFieldIdForCreatedFields(_jobParams.MappingFields);
        }
コード例 #14
0
        /// <summary>
        /// To create dataset tags that are selected for law imprort 
        /// </summary>
        private void CreateSelectedLawTags()
        {
            if (_jobParams == null) _jobParams = GetJobParams(BootParameters);
            if (_jobParams.MappingTags == null) return;
            _selectedTags = _jobParams.MappingTags;
              
           var allDatasetTags=  RVWTagBO.GetTagDefinitions(_jobParams.MatterId.ToString(CultureInfo.InvariantCulture), _jobParams.CollectionId,"All",false, null);

            allDatasetTags = allDatasetTags ?? new List<RVWTagBEO>();

            foreach (var lawTag in _selectedTags.FindAll(x => string.IsNullOrEmpty(x.MappingTagId)))
            {

                var mappedDsTag= allDatasetTags.FirstOrDefault(
                    dsTag => string.IsNullOrEmpty(dsTag.Name) && dsTag.Name.ToLower().Equals(lawTag.MappingTagName));
                if (mappedDsTag != null)
                {
                    //If the tag is already created then continue 
                    lawTag.MappingTagId = mappedDsTag.Id.ToString(CultureInfo.InvariantCulture);
                    continue;
                }
                var tag = new RVWTagBEO
                {
                    Name = lawTag.MappingTagName,
                    IsSystemTag = lawTag.IsSystemTag,
                    IsPrivateTag = false,
                    Scope = TagScope.Document,
                    Type = TagType.Tag,
                    MatterId = _jobParams.MatterId,
                    CollectionId = _jobParams.CollectionId
                };
                lawTag.MappingTagId = RVWTagBO.CreateTag(tag).ToString(CultureInfo.InvariantCulture);
            }
        }
コード例 #15
0
        /// <summary>
        /// Begins the worker process.
        /// </summary>
        protected override void BeginWork()
        {
            try
            {

                base.BeginWork();
                _jobParams = GetJobParams();
                if (EVHttpContext.CurrentContext == null)
                {
                    // Moq the session
                    MockSession(_jobParams.CreatedBy);
                }
            }
            catch (Exception ex)
            {
                ReportToDirector(ex);
                ex.Trace().Swallow();
            }
        }