Example #1
0
        /// <summary>
        /// Process each document
        /// </summary>
        private void ProcessDocuments(List <DocumentDetail> documentCollection)
        {
            var documentDetailList = new List <DocumentDetail>();
            var overlayLogList     = new List <JobWorkerLog <OverlaySearchLogInfo> >();
            var docManager         = new LawOverlayDocumentManager(_jobParams, _dataset, PipelineId, WorkerId);

            try
            {
                //Bulk Search for entire batch
                Dictionary <string, string> overlayDocumentIdPair;
                documentDetailList = docManager.BulkSearch(documentCollection, _userInfo,
                                                           out overlayLogList,
                                                           out overlayDocumentIdPair);
            }
            catch (Exception ex)
            {
                ReportToDirector(ex.ToUserString());
                ex.Trace().Swallow();
            }

            #region Send Message
            //Send response
            if (documentDetailList != null && documentDetailList.Any())
            {
                if (documentDetailList.Count > _batchSize)
                {
                    Send(documentDetailList.Take(_batchSize).ToList());
                    var remainDocumentList = documentDetailList.Skip(_batchSize).ToList();
                    Send(remainDocumentList); //send remaining list
                    documentDetailList.Clear();
                }
                else
                {
                    Send(documentDetailList);
                    documentDetailList.Clear();
                }
            }
            //Send Log
            if (overlayLogList == null || overlayLogList.Count <= 0)
            {
                return;
            }
            SendLog(overlayLogList);
            overlayLogList.Clear();

            #endregion
        }
        /// <summary>
        /// Process each document 
        /// </summary>
        private void ProcessDocuments(List<DocumentDetail> documentCollection)
        {
            var documentDetailList = new List<DocumentDetail>();
            var overlayLogList = new List<JobWorkerLog<OverlaySearchLogInfo>>();
            var docManager = new LawOverlayDocumentManager(_jobParams, _dataset, PipelineId, WorkerId);

            try
            {
                //Bulk Search for entire batch
                Dictionary<string, string> overlayDocumentIdPair;
                documentDetailList = docManager.BulkSearch(documentCollection, _userInfo,
                                                           out overlayLogList, 
                                                           out overlayDocumentIdPair);
            }
            catch (Exception ex)
            {
                ReportToDirector(ex.ToUserString());
                ex.Trace().Swallow();
            }

            #region Send Message
            //Send response   
            if (documentDetailList != null && documentDetailList.Any())
            {
                if (documentDetailList.Count > _batchSize)
                {
                    Send(documentDetailList.Take(_batchSize).ToList());
                    var remainDocumentList = documentDetailList.Skip(_batchSize).ToList();
                    Send(remainDocumentList); //send remaining list
                    documentDetailList.Clear();
                }
                else
                {
                    Send(documentDetailList);
                    documentDetailList.Clear();
                }
            }
            //Send Log   
            if (overlayLogList == null || overlayLogList.Count <= 0) return;
            SendLog(overlayLogList);
            overlayLogList.Clear();

            #endregion
        }