public HL7V2Controller(IBusinessEngine IBusinessEngine, IBusinessEngineInput IBusinessEngineInput, IOptions <IcimsSiteContext> IcimsSiteContext, IBusinessEngineOutcome IBusinessOutcomeError, ILogger <HL7V2Controller> ILogger) { this.IBusinessEngine = IBusinessEngine; this.IBusinessEngineInput = IBusinessEngineInput; this.IcimsSiteContext = IcimsSiteContext; this.IBusinessOutcomeError = IBusinessOutcomeError; this.ILogger = ILogger; }
public BusinessEngine(IOptions <IcimsSiteContext> IcimsSiteContext, IBusinessEngineOutcome IBusinessOutcome, IIcimsInterfaceModelMapper IIcimsInterfaceModelMapper, IIcimsHttpClient IIcimsHttpClient, ILogger <BusinessEngine> ILogger) { this.IcimsSiteContext = IcimsSiteContext; this.IBusinessOutcome = IBusinessOutcome; this.IIcimsInterfaceModelMapper = IIcimsInterfaceModelMapper; this.IIcimsHttpClient = IIcimsHttpClient; this.ILogger = ILogger; }
public ActionResult <IBusinessEngineOutcome> Post(MirthMessage MirthMessage) { //ILogger.LogTrace("Angus Did it work! Trace YES"); //ILogger.LogDebug("Angus Did it work! Debug YES"); //ILogger.LogError("Angus Did it work! Error YES"); //ILogger.LogCritical("Angus Did it work! Critical YES"); //ILogger.LogInformation("Angus Did it work! Info YES"); //ILogger.LogWarning("Angus Did it work! Warning YES"); IBusinessEngineOutcome IBusinessOutcome = null; try { IBusinessEngineInput.HL7V2Message = MirthMessage.HL7V2Message; IBusinessOutcome = IBusinessEngine.Process(IBusinessEngineInput); switch (IBusinessOutcome.StatusCode) { case Common.Models.BusinessModel.StatusCode.ok: return(Ok(IBusinessOutcome)); case Common.Models.BusinessModel.StatusCode.queue: return(BadRequest(IBusinessOutcome)); case Common.Models.BusinessModel.StatusCode.error: return(BadRequest(IBusinessOutcome)); default: throw new System.ComponentModel.InvalidEnumArgumentException(IBusinessOutcome.StatusCode.GetLiteral(), (int)IBusinessOutcome.StatusCode, typeof(Common.Models.BusinessModel.StatusCode)); } } catch (Exception Exec) { IBusinessOutcomeError.StatusCode = Common.Models.BusinessModel.StatusCode.error; IBusinessOutcomeError.Message = $"{IcimsSiteContext.Value.NameOfThisService}: Uncaught Exception: {Exec.Message}"; IBusinessOutcomeError.IcimsResponse = null; ILogger.LogCritical(Exec, $"HL7 Msg: {MirthMessage.HL7V2Message}, Uncaught Exception: { Exec.Message}"); return(BadRequest(IBusinessOutcomeError)); } }