Exemple #1
0
        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();
        }
Exemple #2
0
        /// <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));
            }
        }