public void SetSumOutcome([InjectGroup] Group group, string name, long number, decimal?value) { var parent = GetParentGroup(group, number); SetSumOutcome(parent, name, value); group.GetOrCreateValueWithConverter <Group, decimal>(name, parent, o => ((Group)o).GetRawValue <decimal>(name)); }
public void SetParentCount([InjectGroup] Group group, string name, long number) { var parent = GetParentGroup(group, number); var value = parent.GetOrCreateValue <int>(name); parent.SetValue(name, value + 1); group.GetOrCreateValueWithConverter <Group, int>(name, parent, o => ((Group)o).GetValue <int>(name)); }
private static void AggregateAdd <TType>(Group group, string name, TType value) { var list = group.GetOrCreateValue(name, new List <string>()); list.Add(value.ToString()); group.GetOrCreateValueWithConverter <List <string>, string>(name, new List <string>(), (lst) => { var rawList = (List <string>)lst; return(list.Count == 0 ? string.Empty : list.Aggregate((a, b) => a.ToString() + b.ToString())); }); }