protected override void BeginWork() { base.BeginWork(); //Creating a stringReader stream for the bootparameter var stream = new StringReader(BootParameters); //Ceating xmlStream for xmlserialization var xmlStream = new XmlSerializer(typeof(BulkPrintServiceRequestBEO)); //Deserialization of bootparameter to get BulkPrintServiceRequestBEO bulkPrintServiceRequestBEO = (BulkPrintServiceRequestBEO)xmlStream.Deserialize(stream); sharedLocation = bulkPrintServiceRequestBEO.FolderPath; mappedPrinter = PrinterManagementBusiness.GetMappedPrinter(new MappedPrinterIdentifierBEO(bulkPrintServiceRequestBEO.Printer.UniqueIdentifier.Split(Constants.Split).Last(), true)); sourceLocation = Path.Combine(Path.Combine(sharedLocation, bulkPrintServiceRequestBEO.Name), Constants.SourceDirectoryPath); jobRunId = (!String.IsNullOrEmpty(PipelineId)) ? Convert.ToInt32(PipelineId) : 0; //Get Dataset details for a given Collection Id _mDataSet = DataSetBO.GetDataSetDetailForCollectionId(bulkPrintServiceRequestBEO.DataSet.CollectionId); }
/// <summary> /// Processes the data. /// </summary> /// <param name="printDocuments"></param> public void ProcessTheDocument(List <DocumentResult> printDocuments) { if (_mBootParameters == null) { return; } if (string.IsNullOrEmpty(_mBootParameters.DataSet.CollectionId)) { return; } // Get mapped printer _mMappedPrinterToNetwork = PrinterManagementBusiness.GetMappedPrinter( new MappedPrinterIdentifierBEO( _mBootParameters.Printer.UniqueIdentifier.Split(Constants.Split).Last(), true)); // Create folder CreateFoldersForTemporaryStorage(); //Get Dataset and Matter information for a given Collection Id _mDataSet = DataSetBO.GetDataSetDetailForCollectionId(_mBootParameters.DataSet.CollectionId); //Get DataSet Fields _mDataSet.DatasetFieldList.AddRange( DataSetBO.GetDataSetDetailForDataSetId(_mDataSet.FolderID).DatasetFieldList); // Get Matter information _mDataSet.Matter = MatterBO.GetMatterInformation(_mDataSet.FolderID); _mDatasetName = _mDataSet.FolderName; var documents = new List <DocumentResult>(); var documentIdentifierEntities = new List <DocumentIdentifierEntity>(); foreach (var document in printDocuments) { try { string errorCode; var separatorSheetFolder = Guid.NewGuid(); var separatorSheet = Path.Combine(Path.Combine(_mSharedLocation, _mBootParameters.Name), Constants.SourceDirectoryPath, separatorSheetFolder.ToString(), Constants.separatorHtml); CreateseparatorSheet(separatorSheet, _mBootParameters.DataSet.MatterId, _mBootParameters.DataSet.CollectionId, document.DocumentID); //Print the document set var jobRunId = (!String.IsNullOrEmpty(PipelineId)) ? Convert.ToInt32(PipelineId) : 0; var jobId = JobMgmtDAO.GetJobIdFromJobRunId(jobRunId); var status = PrintDocumentSet(jobId.ToString(CultureInfo.InvariantCulture), _mBootParameters, document, separatorSheet, out errorCode); if (status) { document.CreatedDate = DateTime.Now; documents.Add(document); // Log the message using Log worker... LogMessage(document, true, string.Empty); } else { // Log the message using Log worker... LogMessage(document, false, errorCode); } if (_mDataSet != null && _mDataSet.Matter != null) { var documentIdentifierEntity = new DocumentIdentifierEntity(); documentIdentifierEntity.CollectionId = document.CollectionID; documentIdentifierEntity.Dcn = document.DocumentControlNumber; documentIdentifierEntity.DocumentReferenceId = document.DocumentID; documentIdentifierEntity.CollectionName = _mDataSet.FolderName; documentIdentifierEntities.Add(documentIdentifierEntity); } } catch (Exception ex) { //report to director and continue with other documents if there is error in printing a documents ex.Trace().Swallow(); ReportToDirector(ex); } } if (documents.Count > 0) { Tracer.Info("Print Processing worker - Document Count: {0}", documents.Count.ToString(CultureInfo.InvariantCulture)); Send(documents); if (_mDataSet != null && _mDataSet.Matter != null ) { AuditLogFacade.LogDocumentsPrinted(_mDataSet.Matter.FolderID, documentIdentifierEntities); } } }
/// <summary> /// Processes the data. /// </summary> /// <param name="printDocuments"></param> public void ProcessTheDocument(List<DocumentResult> printDocuments) { if (_mBootParameters == null) return; if (string.IsNullOrEmpty(_mBootParameters.DataSet.CollectionId)) return; // Get mapped printer _mMappedPrinterToNetwork = PrinterManagementBusiness.GetMappedPrinter( new MappedPrinterIdentifierBEO( _mBootParameters.Printer.UniqueIdentifier.Split(Constants.Split).Last(), true)); // Create folder CreateFoldersForTemporaryStorage(); //Get Dataset and Matter information for a given Collection Id _mDataSet = DataSetBO.GetDataSetDetailForCollectionId(_mBootParameters.DataSet.CollectionId); //Get DataSet Fields _mDataSet.DatasetFieldList.AddRange( DataSetBO.GetDataSetDetailForDataSetId(_mDataSet.FolderID).DatasetFieldList); // Get Matter information _mDataSet.Matter = MatterBO.GetMatterInformation(_mDataSet.FolderID); _mDatasetName = _mDataSet.FolderName; var documents = new List<DocumentResult>(); var documentIdentifierEntities = new List<DocumentIdentifierEntity>(); foreach (var document in printDocuments) { try { string errorCode; var separatorSheetFolder = Guid.NewGuid(); var separatorSheet = Path.Combine(Path.Combine(_mSharedLocation, _mBootParameters.Name), Constants.SourceDirectoryPath, separatorSheetFolder.ToString(), Constants.separatorHtml); CreateseparatorSheet(separatorSheet, _mBootParameters.DataSet.MatterId, _mBootParameters.DataSet.CollectionId, document.DocumentID); //Print the document set var jobRunId = (!String.IsNullOrEmpty(PipelineId)) ? Convert.ToInt32(PipelineId) : 0; var jobId = JobMgmtDAO.GetJobIdFromJobRunId(jobRunId); var status = PrintDocumentSet(jobId.ToString(CultureInfo.InvariantCulture), _mBootParameters, document, separatorSheet, out errorCode); if (status) { document.CreatedDate = DateTime.Now; documents.Add(document); // Log the message using Log worker... LogMessage(document, true, string.Empty); } else { // Log the message using Log worker... LogMessage(document, false, errorCode); } if (_mDataSet != null && _mDataSet.Matter != null) { var documentIdentifierEntity = new DocumentIdentifierEntity(); documentIdentifierEntity.CollectionId = document.CollectionID; documentIdentifierEntity.Dcn = document.DocumentControlNumber; documentIdentifierEntity.DocumentReferenceId = document.DocumentID; documentIdentifierEntity.CollectionName = _mDataSet.FolderName; documentIdentifierEntities.Add(documentIdentifierEntity); } } catch (Exception ex) { //report to director and continue with other documents if there is error in printing a documents ex.Trace().Swallow(); ReportToDirector(ex); } } if (documents.Count > 0) { Tracer.Info("Print Processing worker - Document Count: {0}", documents.Count.ToString(CultureInfo.InvariantCulture)); Send(documents); if (_mDataSet != null && _mDataSet.Matter != null ) { AuditLogFacade.LogDocumentsPrinted(_mDataSet.Matter.FolderID, documentIdentifierEntities); } } }