/// <summary> /// Send Worker response to Pipe. /// </summary> private void Send(List <DocumentResult> documentList) { var documentCollection = new PrintDocumentCollection { Documents = documentList, DatasetName = _mDatasetName, TotalDocumentCount = _mTotalDocumentCount }; var message = new PipeMessageEnvelope { Body = documentCollection }; OutputDataPipe.Send(message); IncreaseProcessedDocumentsCount(documentList.Count); }
/// <summary> /// Processes the data. /// </summary> public void ValidateDocuments(List <DocumentResult> printDocuments) { if (bulkPrintServiceRequestBEO == null) { return; } var targetDirectoryPath = Path.Combine(sharedLocation, bulkPrintServiceRequestBEO.Name); var notReady = new List <DocumentResult>(); var sourcedir = new DirectoryInfo(targetDirectoryPath); var separatorFileList = sourcedir.GetFiles(); try { foreach (DocumentResult documentResult in printDocuments) { string fieldValue; fieldValue = documentResult.DocumentControlNumber; if (documentResult.Fields != null && documentResult.Fields.Any()) { foreach (var field in documentResult.Fields) { if (field == null) { continue; } if (String.IsNullOrEmpty(field.Name)) { continue; } if (field.Name.Equals(bulkPrintServiceRequestBEO.FieldName)) { fieldValue = !string.IsNullOrEmpty(field.Value) ? field.Value.Trim() : fieldValue; } } } var document = separatorFileList.Where(x => x.Name.Equals(string.Format("{0}.pdf", fieldValue))); if (!document.Any()) { if (documentResult.CreatedDate > DateTime.Now.AddMinutes(-5)) { notReady.Add(documentResult); } else { Tracer.Info("Print Validation Worker - Failed Document: {0}", documentResult.DocumentControlNumber); LogMessage(documentResult, false, DocumentFailedDuetoTimeOutError); } } else { LogMessage(documentResult, true, "Document queued to printer"); } } if (notReady.Any()) { var documentCollection = new PrintDocumentCollection { Documents = notReady, TotalDocumentCount = totalDocumentCount }; var message = new PipeMessageEnvelope { Body = documentCollection, IsPostback = true }; InputDataPipe.Send(message); } else { UpdateAuditLog(); } } catch (IOException ex) { ex.AddDbgMsg("Directory = {0}", sourceLocation); ReportToDirector(ex); ex.Trace().Swallow(); } catch (Exception ex) { ReportToDirector(ex); ex.Trace().Swallow(); UpdateAuditLog(); } }
/// <summary> /// Processes the data. /// </summary> public void ValidateDocuments(List<DocumentResult> printDocuments) { if (bulkPrintServiceRequestBEO == null) return; var targetDirectoryPath = Path.Combine(sharedLocation, bulkPrintServiceRequestBEO.Name); var notReady = new List<DocumentResult>(); var sourcedir = new DirectoryInfo(targetDirectoryPath); var separatorFileList = sourcedir.GetFiles(); try { foreach (DocumentResult documentResult in printDocuments) { string fieldValue; fieldValue = documentResult.DocumentControlNumber; if (documentResult.Fields != null && documentResult.Fields.Any()) { foreach (var field in documentResult.Fields) { if (field == null) continue; if (String.IsNullOrEmpty(field.Name)) continue; if (field.Name.Equals(bulkPrintServiceRequestBEO.FieldName)) fieldValue = !string.IsNullOrEmpty(field.Value) ? field.Value.Trim() : fieldValue; } } var document = separatorFileList.Where(x => x.Name.Equals(string.Format("{0}.pdf", fieldValue))); if (!document.Any()) { if (documentResult.CreatedDate > DateTime.Now.AddMinutes(-5)) { notReady.Add(documentResult); } else { Tracer.Info("Print Validation Worker - Failed Document: {0}", documentResult.DocumentControlNumber); LogMessage(documentResult, false, DocumentFailedDuetoTimeOutError); } } else { LogMessage(documentResult, true, "Document queued to printer"); } } if (notReady.Any()) { var documentCollection = new PrintDocumentCollection { Documents = notReady, TotalDocumentCount = totalDocumentCount }; var message = new PipeMessageEnvelope { Body = documentCollection, IsPostback = true }; InputDataPipe.Send(message); } else { UpdateAuditLog(); } } catch (IOException ex) { ex.AddDbgMsg("Directory = {0}", sourceLocation); ReportToDirector(ex); ex.Trace().Swallow(); } catch (Exception ex) { ReportToDirector(ex); ex.Trace().Swallow(); UpdateAuditLog(); } }
/// <summary> /// Send Worker response to Pipe. /// </summary> private void Send(List<DocumentResult> documentList) { var documentCollection = new PrintDocumentCollection { Documents = documentList, DatasetName = _mDatasetName, TotalDocumentCount = _mTotalDocumentCount }; var message = new PipeMessageEnvelope { Body = documentCollection }; OutputDataPipe.Send(message); IncreaseProcessedDocumentsCount(documentList.Count); }