public static OperationOutcome AddError(this OperationOutcome outcome, Exception exception)
        {
            string message;

            if (exception is SparkException)
            {
                message = exception.Message;
            }
            else
            {
                message = string.Format("{0}: {1}", exception.GetType().Name, exception.Message);
            }

            outcome.AddError(message);

            // Don't add a stacktrace if this is an acceptable logical-level error
            if (Debugger.IsAttached && !(exception is SparkException))
            {
                var stackTrace = new OperationOutcome.IssueComponent
                {
                    Severity    = OperationOutcome.IssueSeverity.Information,
                    Diagnostics = exception.StackTrace
                };
                outcome.Issue.Add(stackTrace);
            }

            return(outcome);
        }
Exemple #2
0
        private static void AddError(this OperationOutcome outcome, Exception exception)
        {
            string message;

            if (exception is SparkException)
            {
                message = exception.Message;
            }
            else
            {
                message = $"{exception.GetType().Name}: {exception.Message}";
            }

            outcome.AddError(message);

            // Don't add a stacktrace if this is an acceptable logical-level error
            if (!(exception is SparkException))
            {
                var stackTrace = new OperationOutcome.IssueComponent
                {
                    Severity    = OperationOutcome.IssueSeverity.Information,
                    Diagnostics = exception.StackTrace
                };
                outcome.Issue.Add(stackTrace);
            }
        }
        public static OperationOutcome Error(this OperationOutcome outcome, Exception exception)
        {
            string message;

            if (exception is SparkException)
            {
                message = exception.Message;
            }
            else
            {
                message = string.Format("{0}: {1}", exception.GetType().Name, exception.Message);
            }

            var baseResult = outcome.AddError(message);

            // Don't add a stacktrace if this is an acceptable logical-level error
            if (!(exception is SparkException))
            {
                var stackTrace = new OperationOutcome.OperationOutcomeIssueComponent();
                stackTrace.Severity = OperationOutcome.IssueSeverity.Information;
                stackTrace.Details  = exception.StackTrace;
                baseResult.Issue.Add(stackTrace);
            }

            return(baseResult);
        }
Exemple #4
0
        public static FhirResponse WithError(HttpStatusCode code, string message, params object[] args)
        {
            OperationOutcome outcome = new OperationOutcome();

            outcome.AddError(string.Format(message, args));
            return(new FhirResponse(code, outcome));
        }
        public static OperationOutcome AddException(this OperationOutcome operationOutcome, Exception exception)
        {
            Exception e = exception;

            do
            {
                operationOutcome.AddError(e.Message);
                e = e.InnerException;
            }while (e != null);

            return(operationOutcome);
        }