Example #1
0
 public static IReadOnlyCollection <ComponentListItem> ToPhraseListItem(
     this ValueDelta <bool> valueDelta, IReadOnlyCollection <PhrasingComponent> toTruePhrase, IReadOnlyCollection <PhrasingComponent> toFalsePhrase)
 {
     return(valueDelta.ValueChanged
                                ? new ImportantContent(valueDelta.New ? toTruePhrase : toFalsePhrase).ToCollection().ToComponentListItem().ToCollection()
                                : ImmutableArray <ComponentListItem> .Empty);
 }
Example #2
0
        public static IReadOnlyCollection <ComponentListItem> ToNewAndOldListItem <ValType>(
            this ValueDelta <ValType> valueDelta, Func <ValType, IReadOnlyCollection <PhrasingComponent> > valueSelector)
        {
            if (!valueDelta.ValueChanged)
            {
                return(ImmutableArray <ComponentListItem> .Empty);
            }

            var components = new List <PhrasingComponent>();

            var newComponents = valueSelector(valueDelta.New);

            if (newComponents != null)
            {
                components.Add(new ImportantContent($"{valueDelta.ValueName.CapitalizeString()}:".ToComponents()));
                components.AddRange(" ".ToComponents());
                components.Add(new ImportantContent(newComponents));
            }
            else
            {
                components.Add(new ImportantContent($"{valueDelta.ValueName.CapitalizeString()} cleared".ToComponents()));
            }

            var oldComponents = valueSelector(valueDelta.Old);

            if (oldComponents != null)
            {
                components.AddRange(" (from ".ToComponents());
                components.AddRange(oldComponents);
                components.AddRange(")".ToComponents());
            }

            return(components.ToComponentListItem().ToCollection());
        }
Example #3
0
 public static IReadOnlyCollection <ComponentListItem> ToNewAndOldListItem <ValType>(
     this ValueDelta <ValType> valueDelta, Func <ValType, string> valueSelector)
 {
     return(valueDelta.ToNewAndOldListItem(
                i => {
         var value = valueSelector(i);
         return value.Any() ? valueSelector(i).ToComponents() : null;
     }));
 }
Example #4
0
 public static IReadOnlyCollection <ComponentListItem> ToPhraseListItem(this ValueDelta <bool> valueDelta, string toTruePhrase, string toFalsePhrase)
 {
     return(valueDelta.ToPhraseListItem(toTruePhrase.CapitalizeString().ToComponents(), toFalsePhrase.CapitalizeString().ToComponents()));
 }