/// <summary> /// Converts an InputFieldResult into a TextBlock. /// </summary> /// <param name="value">The InputFieldResult.</param> /// <param name="targetType">The target type.</param> /// <param name="parameter">The font size parameter.</param> /// <param name="culture">The culture info.</param> /// <returns>A formatted textblock.</returns> public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { if (value == null) { return(null); } TextBlock textBlock = new TextBlock(); textBlock.TextWrapping = TextWrapping.Wrap; if (value.GetType() == typeof(InputFieldResult)) { InputFieldResult result = (InputFieldResult)value; if (result.IsNegated) { Run description = new Run(); description.Text = string.Format(culture, "No {0}, ", result.Description); textBlock.Inlines.Add(description); Run knownAbsence = new Run(); knownAbsence.FontStyle = FontStyles.Italic; knownAbsence.Text = "known absence of "; textBlock.Inlines.Add(knownAbsence); Run fullySpecifiedName = new Run(); fullySpecifiedName.Text = result.Concept.FullySpecifiedName; textBlock.Inlines.Add(fullySpecifiedName); } else if (result.Description != result.Concept.PreferredTerm) { Run descriptionName = new Run(); descriptionName.Text = result.Description; textBlock.Inlines.Add(descriptionName); Run knownAbsence = new Run(); knownAbsence.FontSize = knownAbsence.FontSize - 1; knownAbsence.Text = " synonym of"; textBlock.Inlines.Add(knownAbsence); } else { Run fullySpecifiedName = new Run(); fullySpecifiedName.Text = result.Concept.FullySpecifiedName; textBlock.Inlines.Add(fullySpecifiedName); } } else if (value.GetType() == typeof(ConceptResult)) { ConceptResult result = (ConceptResult)value; Run fullySpecifiedName = new Run(); fullySpecifiedName.Text = result.FullySpecifiedName; textBlock.Inlines.Add(fullySpecifiedName); } return(textBlock); }
/// <summary> /// Determines whether [is concept side] [the specified concept result]. /// </summary> /// <param name="conceptResult">The concept result.</param> /// <returns> /// Is <c>true</c> if [is concept side] [the specified concept result]; otherwise, <c>false</c>. /// </returns> private static bool IsConceptSide(ConceptResult conceptResult) { ConceptResult conceptDetail = SnomedConcepts.Side.Children.SingleOrDefault(p => p.SnomedConceptId == conceptResult.SnomedConceptId); if (conceptDetail != null) { return(true); } else { foreach (ConceptItem parent in conceptResult.Parents) { conceptDetail = SnomedConcepts.Side.Children.SingleOrDefault(p => p.SnomedConceptId == parent.SnomedConceptId); if (conceptDetail != null) { return(true); } } } return(false); }
/// <summary> /// Determines whether [is concept side] [the specified concept result]. /// </summary> /// <param name="conceptResult">The concept result.</param> /// <returns> /// Is <c>true</c> if [is concept side] [the specified concept result]; otherwise, <c>false</c>. /// </returns> private static bool IsConceptSide(ConceptResult conceptResult) { ConceptResult conceptDetail = SnomedConcepts.Side.Children.SingleOrDefault(p => p.SnomedConceptId == conceptResult.SnomedConceptId); if (conceptDetail != null) { return true; } else { foreach (ConceptItem parent in conceptResult.Parents) { conceptDetail = SnomedConcepts.Side.Children.SingleOrDefault(p => p.SnomedConceptId == parent.SnomedConceptId); if (conceptDetail != null) { return true; } } } return false; }