private UPRDStatusDTO Parse(UPRDStatus a) { UPRDStatusDTO d = new UPRDStatusDTO(); d.CreatedDate = a.CreatedDate; d.DatasetRequested = a.DatasetRequested; d.DatasetSummary = a.DatasetSummary; d.IsDataSetAvailable = a.IsDataSetAvailable; d.IsDatasetReceived = a.IsDatasetReceived; d.IsRURDReceived = a.IsRURDReceived; d.RequestID = a.RequestID; d.RURD_ID = a.RURD_ID; d.TransactionId = a.TransactionId; d.UPRD_ID = a.UPRD_ID; return(d); }
private UPRDStatus Create(UPRDStatusDTO a) { UPRDStatus u = new UPRDStatus(); u.CreatedDate = a.CreatedDate; u.DatasetRequested = a.DatasetRequested; u.DatasetSummary = a.DatasetSummary; u.RequestID = a.RequestID; u.RURD_ID = a.RURD_ID; u.TransactionId = a.TransactionId; u.UPRD_ID = a.UPRD_ID; u.IsRURDReceived = a.IsRURDReceived; u.IsDataSetAvailable = a.IsDataSetAvailable; u.IsDatasetReceived = a.IsDatasetReceived; return(u); }
private void RaiseAndSendUprdRequest(Pipeline pipe, bool isOacy, bool isUnsc, bool isSwnt, bool isTest, bool sendManu) { try { Guid transactionId = Guid.NewGuid(); TaskMgrJob job = new TaskMgrJob(); job.TransactionId = transactionId.ToString(); job.DatasetId = 11; job.CreatedAt = DateTime.Now; job.EDICheckCount = 0; job.EndDate = DateTime.MaxValue; job.StartDate = DateTime.Now; job.IsSending = true; job.StageId = 3; job.StatusId = 2; job.NoOfXmlInEDI = 0; _serviceTaskMgrJob.Add(job); _serviceTaskMgrJob.Save(); Outbox outbox = new Outbox(); outbox.MessageID = transactionId; outbox.DatasetID = 11; outbox.StatusID = 0; outbox.GISB = ""; outbox.IsTest = isTest; outbox.PipelineID = pipe.ID; outbox.CompanyID = 2; outbox.IsScheduled = false; outbox.ScheduledDate = DateTime.MaxValue; outbox.IsActive = true; outbox.CreatedBy = "8f76c512-199c-47f0-8d9e-1653d4e200dd"; outbox.CreatedDate = DateTime.Now; outbox.ModifiedBy = "8f76c512-199c-47f0-8d9e-1653d4e200dd"; outbox.ModifiedDate = DateTime.Now; _serviceOutbox.Add(outbox); _serviceOutbox.Save(); #region Edi Generation Int64 workFlowId = Int64.MinValue; AddUpdateTransactionLog(job.TransactionId, (int)Statuses.InProgress); JobWorkflow workFlow = new JobWorkflow(); workFlow.EndDate = DateTime.MaxValue; workFlow.StageId = (int)SendingStages.XML; workFlow.StartDate = DateTime.Now; workFlow.StatusId = (int)Statuses.InProgress; workFlow.TransactionId = Guid.Parse(job.TransactionId); _serviceJobWorkFlow.Add(workFlow); _serviceJobWorkFlow.Save(); workFlowId = workFlow.WorkflowId; var pipelineEdiSetting = _modalFactory.Parse(_servicePipelineEdiSetting.GetPipelineSetting(pipe.DUNSNo, (int)DataSet.Upload_of_Requests_for_Download_of_Posted_Datasets, "078711334")); if (pipelineEdiSetting != null) { UPRD_GN ediGen = new UPRD_GN(); var ediFile = ediGen.GenerateEDIUPRD(isOacy, isUnsc, isSwnt, isTest, pipe.DUNSNo, pipelineEdiSetting, sendManu); if (!string.IsNullOrEmpty(ediFile.ToString())) { var r = ediFile.Segments.Where(a => a.Id.Contains("BIA")).FirstOrDefault(); string requestID = !string.IsNullOrEmpty(r.Elements[2].ToString()) ? r.Elements[2].ToString() : string.Empty; #region add UPRD status UPRDStatus uprdStatus = new UPRDStatus(); uprdStatus.TransactionId = outbox.MessageID; uprdStatus.RequestID = requestID; uprdStatus.CreatedDate = DateTime.Now; if (isOacy) { uprdStatus.DatasetRequested = (int)DataSet.Operational_Capacity; uprdStatus.DatasetSummary = "OACY"; } if (isUnsc) { uprdStatus.DatasetRequested = (int)DataSet.Unsubscribed_Capacity; uprdStatus.DatasetSummary = "UNSC"; } if (isSwnt) { uprdStatus.DatasetRequested = (int)DataSet.System_Wide_Notices; uprdStatus.DatasetSummary = "SWNT"; } uprdStatus.PipeDuns = pipe.DUNSNo; _serviceUprdStatus.Add(uprdStatus); _serviceUprdStatus.Save(); #endregion SaveXmlToDB(job.TransactionId, pipe.ID, null, ediFile.ToString(), null, null); UpdateJobStatus(job.TransactionId, (int)Statuses.Completed, (int)SendingStages.EDI); UpdateWorkflow(workFlowId, (int)Statuses.Completed); } else { UpdateJobStatus(job.TransactionId, (int)Statuses.Error, (int)SendingStages.EDI); UpdateWorkflow(workFlowId, (int)Statuses.Error); } } else { SaveErrorLogs("Generate EDI UPRD Task Manager Send " + job.TransactionId + " Pipeline EDI Setting is null. for pipeline " + pipe.Name + " DunsNo:- " + pipe.DUNSNo, Guid.Parse(job.TransactionId), workFlowId, (int)SendingStages.EDI); AppLogManager(new StringBuilder("Generate EDI UPRD Task Manager Send " + job.TransactionId), "Error", new StringBuilder("Pipeline EDI setting in Null for UPRD file for pipeline " + pipe.Name + " Duns NO " + pipe.DUNSNo)); UpdateJobStatus(job.TransactionId, (int)Statuses.Error, (int)SendingStages.EDI); UpdateWorkflow(workFlowId, (int)Statuses.Error); } #endregion #region Encryption workFlow = new JobWorkflow(); workFlow.EndDate = DateTime.MaxValue; workFlow.StageId = (int)SendingStages.EncryptedEDI; workFlow.StartDate = DateTime.Now; workFlow.StatusId = (int)Statuses.InProgress; workFlow.TransactionId = Guid.Parse(job.TransactionId); _serviceJobWorkFlow.Add(workFlow); _serviceJobWorkFlow.Save(); workFlowId = workFlow.WorkflowId; StartEncryptingEDI(job, workFlowId); #endregion #region Sending UpdateJobStatus(job.TransactionId, (int)Statuses.InProgress, (int)SendingStages.SendingFile); Int64 workflowId = Int64.MinValue; workFlow = new JobWorkflow(); workFlow.EndDate = DateTime.MaxValue; workFlow.StageId = (int)SendingStages.SendingFile; workFlow.StartDate = DateTime.Now; workFlow.StatusId = (int)Statuses.InProgress; workFlow.TransactionId = Guid.Parse(job.TransactionId); _serviceJobWorkFlow.Add(workFlow); _serviceJobWorkFlow.Save(); workflowId = workFlow.WorkflowId; Console.WriteLine("Sending files updated status of job in DB."); FileSendingManager(job, workflowId); #endregion } catch (Exception ex) { AppLogManager(new StringBuilder("Raise UPRD in Task manager send"), "Error", new StringBuilder(ex.Message + " Inner Exception:- " + ex.InnerException)); } }