Esempio n. 1
0
 /// <summary>Factory method.</summary>
 internal static Issue Create(int code, OperationOutcome.IssueSeverity severity, OperationOutcome.IssueType type)
 {
     return(new Issue()
     {
         Code = code, Severity = severity, Type = type
     });
 }
        public static OperationOutcome AddValidationProblems(this OperationOutcome outcome, Type resourceType, HttpStatusCode code, ValidationProblemDetails validationProblems)
        {
            if (resourceType == null)
            {
                throw new ArgumentNullException(nameof(resourceType));
            }
            if (validationProblems == null)
            {
                throw new ArgumentNullException(nameof(ValidationProblemDetails));
            }

            OperationOutcome.IssueSeverity severity = IssueSeverityOf(code);
            foreach (var error in validationProblems.Errors)
            {
                outcome.Issue.Add(new OperationOutcome.IssueComponent
                {
                    Severity    = severity,
                    Code        = OperationOutcome.IssueType.Required,
                    Diagnostics = error.Value.FirstOrDefault(),
                    Location    = new[] { FhirPathUtil.ConvertToXPathExpression(FhirPathUtil.ResolveToFhirPathExpression(resourceType, error.Key)) }
                });
            }

            return(outcome);
        }
 public static OperationOutcome Append(OperationOutcome.IssueSeverity IssueSeverity, OperationOutcome.IssueType?IssueType, string Message, ICollection <string> Location, OperationOutcome Exsisting = null)
 {
     //Todo: if I need to escape the messages then use this function below!!
     //XhtmlSupport.EncodeToString(Issue.Details.Text);
     if (Exsisting == null)
     {
         return(Create(IssueSeverity, IssueType, Message));
     }
     else
     {
         var oIssueComponent = new OperationOutcome.IssueComponent();
         oIssueComponent.Severity = IssueSeverity;
         if (IssueType.HasValue)
         {
             oIssueComponent.Code = IssueType.Value;
         }
         oIssueComponent.Location     = Location;
         oIssueComponent.Details      = new CodeableConcept();
         oIssueComponent.Details.Text = Message;
         if (Exsisting.Issue == null)
         {
             Exsisting.Issue = new List <OperationOutcome.IssueComponent>();
         }
         Exsisting.Issue.Add(oIssueComponent);
         return(Exsisting);
     }
 }
Esempio n. 4
0
        public void AddIssue(string errorMessage, OperationOutcome.IssueSeverity severity = OperationOutcome.IssueSeverity.Error)
        {
            var newIssue = new OperationOutcome.IssueComponent()
            {
                Diagnostics = errorMessage, Severity = severity
            };

            outcome.Issue.Add(newIssue);
        }
        public static OperationOutcome.IssueComponent CreateIssue(OperationOutcome.IssueSeverity IssueSeverity, OperationOutcome.IssueType?IssueType, string Message)
        {
            var Issue = new OperationOutcome.IssueComponent();

            Issue.Severity     = IssueSeverity;
            Issue.Code         = IssueType;
            Issue.Details      = new CodeableConcept();
            Issue.Details.Text = Message;
            return(Issue);
        }
Esempio n. 6
0
 public static OperationOutcome ForMessage(string message, OperationOutcome.IssueSeverity severity = IssueSeverity.Error)
 {
     return(new OperationOutcome()
     {
         Issue = new List <OperationOutcome.OperationOutcomeIssueComponent>()
         {
             new OperationOutcome.OperationOutcomeIssueComponent()
             {
                 Severity = severity, Details = message
             }
         }
     });
 }
        private static OperationOutcome AddIssue(this OperationOutcome outcome, OperationOutcome.IssueSeverity severity, string message)
        {
            if (outcome.Issue == null)
            {
                outcome.Init();
            }

            var item = new OperationOutcome.OperationOutcomeIssueComponent();

            item.Severity = severity;
            item.Details  = message;
            outcome.Issue.Add(item);
            return(outcome);
        }
Esempio n. 8
0
        public static OperationOutcome ForException(Exception e, OperationOutcome.IssueSeverity severity = IssueSeverity.Error)
        {
            var result = OperationOutcome.ForMessage(e.Message);
            var ie     = e.InnerException;

            while (ie != null)
            {
                result.Issue.Add(new OperationOutcomeIssueComponent {
                    Details = ie.Message, Severity = IssueSeverity.Information
                });
                ie = ie.InnerException;
            }

            return(result);
        }
Esempio n. 9
0
        private static OperationOutcome AddIssue(this OperationOutcome outcome, OperationOutcome.IssueSeverity severity, string message, OperationOutcome.IssueType issueType = OperationOutcome.IssueType.Unknown)
        {
            if (outcome.Issue == null)
            {
                outcome.Init();
            }

            var item = new OperationOutcome.IssueComponent();

            item.Severity    = severity;
            item.Diagnostics = message;
            item.Code        = issueType;
            outcome.Issue.Add(item);
            return(outcome);
        }
 private static OperationOutcome CreateOperationOutcome(OperationOutcome.IssueSeverity issueSeverity, OperationOutcome.IssueType issueType, string diagnostics)
 {
     return(new OperationOutcome
     {
         Issue = new List <OperationOutcome.IssueComponent>
         {
             new OperationOutcome.IssueComponent
             {
                 Severity = issueSeverity,
                 Code = issueType,
                 Diagnostics = diagnostics,
             },
         },
     });
 }
Esempio n. 11
0
        private void CheckOperationOutcomeIssue(
            OperationNotImplementedException exception,
            OperationOutcome.IssueSeverity expectedSeverity,
            OperationOutcome.IssueType expectedCode,
            string expectedMessage)
        {
            IEnumerator <OperationOutcomeIssue> enumerator = exception.Issues.GetEnumerator();

            enumerator.MoveNext();
            OperationOutcome.IssueComponent issue = enumerator.Current.ToPoco();

            // Check expected outcome
            Assert.Equal(expectedSeverity, issue.Severity);
            Assert.Equal(expectedCode, issue.Code);
            Assert.Equal(expectedMessage, issue.Diagnostics);
        }
Esempio n. 12
0
        private static OperationOutcome AddIssue(this OperationOutcome outcome, OperationOutcome.IssueSeverity severity, string message)
        {
            if (outcome.Issue == null)
            {
                outcome.Init();
            }

            var item = new OperationOutcome.IssueComponent
            {
                Severity    = severity,
                Diagnostics = message
            };

            outcome.Issue.Add(item);
            return(outcome);
        }
        public static OperationOutcome Create(OperationOutcome.IssueSeverity issueSeverity, OperationOutcome.IssueType issueType, string diagnostics, CodeableConcept details, bool spineError)
        {
            var outcome = Base(spineError);

            outcome.Issue = new List <OperationOutcome.IssueComponent>
            {
                new OperationOutcome.IssueComponent
                {
                    Severity    = issueSeverity,
                    Code        = issueType,
                    Diagnostics = diagnostics,
                    Details     = details
                }
            };

            return(outcome);
        }
 private OperationOutcomeResult CreateOperationOutcomeResult(string message, OperationOutcome.IssueSeverity issueSeverity, OperationOutcome.IssueType issueType, HttpStatusCode httpStatusCode)
 {
     return(new OperationOutcomeResult(
                new OperationOutcome
     {
         Id = _fhirRequestContextAccessor.FhirRequestContext.CorrelationId,
         Issue = new List <OperationOutcome.IssueComponent>
         {
             new OperationOutcome.IssueComponent
             {
                 Severity = issueSeverity,
                 Code = issueType,
                 Diagnostics = message,
             },
         },
     }, httpStatusCode));
 }
        public static OperationOutcome Create(OperationOutcome.IssueSeverity IssueSeverity, OperationOutcome.IssueType?IssueType, string Message, ICollection <string> Location)
        {
            var oIssueComponent = new OperationOutcome.IssueComponent();

            oIssueComponent.Severity = IssueSeverity;
            if (IssueType.HasValue)
            {
                oIssueComponent.Code = IssueType.Value;
            }
            oIssueComponent.Details      = new CodeableConcept();
            oIssueComponent.Details.Text = Message;
            if (Location != null)
            {
                oIssueComponent.Location = Location;
            }
            var oOperationOutcome = new OperationOutcome();

            oOperationOutcome.Issue = new List <OperationOutcome.IssueComponent>()
            {
                oIssueComponent
            };
            return(oOperationOutcome);
        }
Esempio n. 16
0
        private OperationOutcome GetOpOutCome(string[] errorMessageList, OperationOutcome.IssueSeverity issueSeverity, OperationOutcome.IssueType issueType)
        {
            var Opt = new OperationOutcome();

            Opt.Issue = new List <OperationOutcome.IssueComponent>();

            StringBuilder sb = new StringBuilder();

            sb.Append("<div xmlns=\"http://www.w3.org/1999/xhtml\">\n");
            int Counter = 1;

            foreach (string ErrorMsg in errorMessageList)
            {
                if (errorMessageList.Length == 1)
                {
                    sb.Append($"  <p>{System.Web.HttpUtility.HtmlEncode(ErrorMsg)}</p>\n");
                }
                else
                {
                    sb.Append($"  <p> {Counter.ToString()}. {System.Web.HttpUtility.HtmlEncode(ErrorMsg)}</p>\n");
                }

                var Issue = new OperationOutcome.IssueComponent();
                Issue.Severity     = issueSeverity;
                Issue.Code         = issueType;
                Issue.Details      = new CodeableConcept();
                Issue.Details.Text = ErrorMsg;
                Opt.Issue.Add(Issue);
                Counter++;
            }
            sb.Append("</div>");

            Opt.Text     = new Narrative();
            Opt.Text.Div = sb.ToString();
            return(Opt);
        }
Esempio n. 17
0
 /// <summary>Factory method.</summary>
 public static Issue Create(int code, OperationOutcome.IssueSeverity severity, OperationOutcome.IssueType type) =>
 new Issue(code, severity, type);
Esempio n. 18
0
 internal Issue(int code, OperationOutcome.IssueSeverity severity, OperationOutcome.IssueType type)
 {
     Code     = code;
     Severity = severity;
     Type     = type;
 }
 public static OperationOutcome Append(OperationOutcome.IssueSeverity IssueSeverity, OperationOutcome.IssueType?IssueType, string Message, OperationOutcome Exsisting = null)
 {
     return(Append(IssueSeverity, IssueType, Message, null, Exsisting));
 }
 public static OperationOutcome Create(OperationOutcome.IssueSeverity IssueSeverity, OperationOutcome.IssueType?IssueType, string Message)
 {
     return(Create(IssueSeverity, IssueType, Message, null));
 }
Esempio n. 21
0
 public static OperationOutcome ForMessage(string message, OperationOutcome.IssueType code, OperationOutcome.IssueSeverity severity = IssueSeverity.Error)
 {
     return(new OperationOutcome()
     {
         Issue = new List <OperationOutcome.IssueComponent>()
         {
             new OperationOutcome.IssueComponent()
             {
                 Severity = severity, Code = code, Diagnostics = message
             }
         }
     });
 }
Esempio n. 22
0
 public static OperationOutcome ForMessage(string message, OperationOutcome.IssueSeverity severity = IssueSeverity.Error)
 {
     return(ForMessage(message, IssueType.Processing, severity));
 }
Esempio n. 23
0
 public static OperationOutcome ForException(Exception e, OperationOutcome.IssueSeverity severity = IssueSeverity.Error)
 {
     return(ForException(e, IssueType.Processing, severity));
 }