/// <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 }