Beispiel #1
0
        /// <summary>
        /// Process documents for Rerun job
        /// </summary>
        /// <param name="projectDocumentCollection">ProjectDocumentCollection</param>
        private void ProcessDocumentsForRerunJob(ProjectDocumentCollection projectDocumentCollection)
        {
            //Fix Existing documents
            var documentsUpdate =
                projectDocumentCollection.Documents.Where(d => d.IsDocumentUpdate)
                .Select(projectDocument => new Business.Analytics.DocumentIdentifier
            {
                ReferenceId            = projectDocument.DocumentReferenceId,
                Url                    = projectDocument.TextFilePath,
                DocumentIndexingStatus = projectDocument.DocumentIndexStatus,
                DocumentTextSize       = projectDocument.DocumentTextSize
            }).ToList();

            if (documentsUpdate.Any())
            {
                _analyticProject.AddDocumentsIntoProject(_jobParameter.MatterId, _dataset, documentsUpdate,
                                                         _jobParameter,
                                                         projectDocumentCollection.ProjectFieldId, WorkAssignment.JobId, true);
            }


            //Add unprocessed documents
            var documentsAdd =
                projectDocumentCollection.Documents.Where(d => !d.IsDocumentUpdate)
                .Select(projectDocument => new Business.Analytics.DocumentIdentifier
            {
                ReferenceId            = projectDocument.DocumentReferenceId,
                Url                    = projectDocument.TextFilePath,
                DocumentIndexingStatus = projectDocument.DocumentIndexStatus,
                DocumentTextSize       = projectDocument.DocumentTextSize
            }).ToList();

            if (documentsAdd.Any())
            {
                _analyticProject.AddDocumentsIntoProject(_jobParameter.MatterId, _dataset, documentsAdd,
                                                         _jobParameter,
                                                         projectDocumentCollection.ProjectFieldId, WorkAssignment.JobId);
            }
        }
        protected override void ProcessMessage(PipeMessageEnvelope message)
        {
            try
            {
                var projectDocumentCollection = (ProjectDocumentCollection) message.Body;
                projectDocumentCollection.ShouldNotBe(null);
                projectDocumentCollection.Documents.ShouldNotBe(null);

                _analyticProject = new AnalyticsProject();
                if (_jobParameter.IsRerunJob)  //---Rerun
                {
                    ProcessDocumentsForRerunJob(projectDocumentCollection);
                }
                else
                {

                    var documents =
                        projectDocumentCollection.Documents.Select(
                            projectDocument => new Business.Analytics.DocumentIdentifier
                                               {
                                                   ReferenceId = projectDocument.DocumentReferenceId,
                                                   Url = projectDocument.TextFilePath,
                                                   DocumentIndexingStatus = projectDocument.DocumentIndexStatus,
                                                   DocumentTextSize = projectDocument.DocumentTextSize
                                               }).ToList();

                    _analyticProject.AddDocumentsIntoProject(_jobParameter.MatterId, _dataset, documents, _jobParameter,
                        projectDocumentCollection.ProjectFieldId, WorkAssignment.JobId);
                }

                IncreaseProcessedDocumentsCount(projectDocumentCollection.Documents.Count()); //Progress Status

            }
            catch (Exception ex)
            {
                ex.Trace().Swallow();
                ReportToDirector(ex);
            }
        }
Beispiel #3
0
        protected override void ProcessMessage(PipeMessageEnvelope message)
        {
            try
            {
                var projectDocumentCollection = (ProjectDocumentCollection)message.Body;
                projectDocumentCollection.ShouldNotBe(null);
                projectDocumentCollection.Documents.ShouldNotBe(null);

                _analyticProject = new AnalyticsProject();
                if (_jobParameter.IsRerunJob)  //---Rerun
                {
                    ProcessDocumentsForRerunJob(projectDocumentCollection);
                }
                else
                {
                    var documents =
                        projectDocumentCollection.Documents.Select(
                            projectDocument => new Business.Analytics.DocumentIdentifier
                    {
                        ReferenceId            = projectDocument.DocumentReferenceId,
                        Url                    = projectDocument.TextFilePath,
                        DocumentIndexingStatus = projectDocument.DocumentIndexStatus,
                        DocumentTextSize       = projectDocument.DocumentTextSize
                    }).ToList();

                    _analyticProject.AddDocumentsIntoProject(_jobParameter.MatterId, _dataset, documents, _jobParameter,
                                                             projectDocumentCollection.ProjectFieldId, WorkAssignment.JobId);
                }

                IncreaseProcessedDocumentsCount(projectDocumentCollection.Documents.Count()); //Progress Status
            }
            catch (Exception ex)
            {
                ex.Trace().Swallow();
                ReportToDirector(ex);
            }
        }