private void SaveXmlToDB(string transactionId, int pipelineId, string Xmltemplate, string EdiFile, string EncEDIFile, string sendingUrl) { TaskMgrXml xml = _serviceTaskMgrXml.GetbyTransactionId(transactionId); if (xml != null) { if (Xmltemplate != null) { xml.XmlData = Xmltemplate; } if (EdiFile != null) { xml.EDIData = EdiFile; } if (EncEDIFile != null) { xml.EncEDIData = EncEDIFile; } if (sendingUrl != null) { xml.SendUrl = sendingUrl; } xml.IsProccessed = false; _serviceTaskMgrXml.Update(xml); } else { xml = new TaskMgrXml(); xml.AddedOn = DateTime.UtcNow; xml.TransactionId = transactionId; xml.PipelineId = pipelineId; if (Xmltemplate != null) { xml.XmlData = Xmltemplate; } if (EdiFile != null) { xml.EDIData = EdiFile; } if (EncEDIFile != null) { xml.EncEDIData = EncEDIFile; } if (sendingUrl != null) { xml.SendUrl = sendingUrl; } xml.IsProccessed = false; _serviceTaskMgrXml.Add(xml); } _serviceTaskMgrXml.Save(); }
/// <summary> /// Encryptor for all docs /// </summary> /// <param name="job">task identity</param> /// <param name="workFlowId">task workflow logging</param> private void StartEncryptingEDI(TaskMgrJob job, Int64 workFlowId) { try { TaskMgrXml EDIFile = _serviceTaskMgrXml.GetbyTransactionId(job.TransactionId); if (EDIFile != null) { string encEDIFile = null; metadataPipelineEncKeyInfo keyInfo = _servicemetadataPipelineEncKeyInfo.GetByPipelineId(EDIFile.PipelineId); string PgpKey = keyInfo.PgpKey; var iiTestOn = _serviceSetting.GetById((int)Settings.iiTestOn).Value; if (Convert.ToBoolean(iiTestOn)) { iiPublicKey = _serviceSetting.GetById((int)Settings.iiPublicKey).Value; encEDIFile = EncryptFile(iiPublicKey, EDIFile.EDIData); } else { encEDIFile = EncryptFile(PgpKey, EDIFile.EDIData); } AppLogManager(new StringBuilder(job.TransactionId), "Info", new StringBuilder("Encrypted by " + keyInfo.KeyName)); SaveXmlToDB(job.TransactionId, EDIFile.PipelineId, null, null, encEDIFile, null); UpdateJobStatus(job.TransactionId, (int)Statuses.Completed, (int)SendingStages.EncryptedEDI); UpdateTransactionLogs(job.TransactionId, (int)Statuses.Completed); UpdateWorkflow(workFlowId, (int)Statuses.Completed); } else { UpdateJobStatus(job.TransactionId, (int)Statuses.Error, (int)SendingStages.EncryptedEDI); UpdateTransactionLogs(job.TransactionId, (int)Statuses.Error); UpdateWorkflow(workFlowId, (int)Statuses.Error); } } catch (Exception ex) { SaveErrorLogs("StartEncryptingEDI Task Manager Send " + ex.Message, Guid.Parse(job.TransactionId), workFlowId, (int)SendingStages.EncryptedEDI); UpdateJobStatus(job.TransactionId, (int)Statuses.Error, (int)SendingStages.EncryptedEDI); UpdateTransactionLogs(job.TransactionId, (int)Statuses.Error); UpdateWorkflow(workFlowId, (int)Statuses.Error); AppLogManager(new StringBuilder("StartEncryptingEDI Task Manager send"), "Error", new StringBuilder(ex.Message)); } }