public LawDocumentManager(LawImportBEO jobParams, string jobRunId, string workerInstanceId, DatasetBEO datasetDetails) { _jobParams = jobParams; _jobRunId = jobRunId; _workerInstanceId = workerInstanceId; _datasetDetails = datasetDetails; }
public LawOverlayDocumentManager(LawImportBEO jobParams, DatasetBEO datasetBEO, string jobRunId, string workerInstanceId) { _jobParams = jobParams; _datasetBEO = datasetBEO; _jobRunId = jobRunId; _workerInstanceId = workerInstanceId; _overlayNewAndOldDocumentIdPairs = new Dictionary <string, string>(); }
/// <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); }
/// <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); }
/// <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; } }
/// <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(); } }
/// <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); } }
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(); } }
/// <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; }
/// <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; } }
/// <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); }
/// <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); } }