/// <summary> /// Hangfire job to send Change Address message to One stop. /// </summary> public async Task SendChangeAddressRest(PerformContext hangfireContext, string licenceGuidRaw, string queueItemId) { IDynamicsClient dynamicsClient = DynamicsSetupUtil.SetupDynamics(_configuration); if (hangfireContext != null) { hangfireContext.WriteLine("Starting OneStop REST ChangeAddress Job."); } string licenceGuid = Utils.ParseGuid(licenceGuidRaw); //prepare soap content var req = new ChangeAddress(); var licence = dynamicsClient.GetLicenceByIdWithChildren(licenceGuid); if (hangfireContext != null && licence != null) { hangfireContext.WriteLine($"Got Licence {licenceGuid}."); } if (licence == null || licence.AdoxioEstablishment == null) { if (hangfireContext != null) { hangfireContext.WriteLine($"Unable to get licence {licenceGuid}."); } if (Log.Logger != null) { Log.Logger.Error($"Unable to get licence {licenceGuid}."); } } else { var innerXml = req.CreateXML(licence); innerXml = _onestopRestClient.CleanXML(innerXml); if (Log.Logger != null) { Log.Logger.Information(innerXml); } if (hangfireContext != null) { hangfireContext.WriteLine(innerXml); } //send message to Onestop hub var outputXML = await _onestopRestClient.ReceiveFromPartner(innerXml); UpdateQueueItemForSend(dynamicsClient, hangfireContext, queueItemId, innerXml, outputXML); if (hangfireContext != null) { hangfireContext.WriteLine(outputXML); hangfireContext.WriteLine("End of OneStop REST ChangeAddress Job."); } } }
public async Task SendProgramAccountRequestREST(PerformContext hangfireContext, string licenceGuidRaw, string suffix) { hangfireContext?.WriteLine("Starting OneStop ProgramAccountRequest Job."); IDynamicsClient dynamicsClient = DynamicsSetupUtil.SetupDynamics(_configuration); string licenceGuid = Utils.ParseGuid(licenceGuidRaw); // prepare soap message var req = new ProgramAccountRequest(); hangfireContext?.WriteLine($"Getting Licence {licenceGuid}"); var licence = dynamicsClient.GetLicenceByIdWithChildren(licenceGuid); if (hangfireContext != null && licence != null) { hangfireContext.WriteLine($"Got Licence {licenceGuid}."); } if (licence == null) { hangfireContext?.WriteLine($"Unable to get licence {licenceGuid}."); Log.Logger?.Error($"Unable to get licence {licenceGuid}."); } else { // only send the request if Dynamics says the licence is not sent yet. if (licence.AdoxioOnestopsent == null || licence.AdoxioOnestopsent == false) { var innerXml = req.CreateXML(licence, suffix); Log.Logger?.Information(innerXml); // send message to Onestop hub var outputXml = await _onestopRestClient.ReceiveFromPartner(innerXml); if (hangfireContext != null) { hangfireContext.WriteLine(outputXml); } } else { hangfireContext?.WriteLine($"Skipping ProgramAccountRequest for Licence {licence.AdoxioName} {licenceGuid} as the record is marked as sent to OneStop."); Log.Logger?.Error($"Skipping ProgramAccountRequest for Licence {licence.AdoxioName} {licenceGuid} as the record is marked as sent to OneStop."); } } hangfireContext?.WriteLine("End of OneStop ProgramAccountRequest Job."); }