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); }
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()); }
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; })); }
public static IReadOnlyCollection <ComponentListItem> ToPhraseListItem(this ValueDelta <bool> valueDelta, string toTruePhrase, string toFalsePhrase) { return(valueDelta.ToPhraseListItem(toTruePhrase.CapitalizeString().ToComponents(), toFalsePhrase.CapitalizeString().ToComponents())); }