/// <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);
        }
Exemple #2
0
        /// <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);
        }
Exemple #3
0
        /// <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;
        }