internal NotificationOutcomeCollection Add(NotificationOutcomeCollection outcomeCollection) { foreach (var kvp in outcomeCollection) { if (this.ContainsKey(kvp.Key)) { this[kvp.Key] = this[kvp.Key] + kvp.Value; } else { this[kvp.Key] = kvp.Value; } } return(this); }
internal static NotificationOutcomeCollection Rollup(IEnumerable <NotificationOutcomeCollection> outcomeCollection) { var combinedOutcome = new NotificationOutcomeCollection(); foreach (var outcome in outcomeCollection) { foreach (var kvp in outcome) { if (combinedOutcome.ContainsKey(kvp.Key)) { combinedOutcome[kvp.Key] = combinedOutcome[kvp.Key] + kvp.Value; } else { combinedOutcome[kvp.Key] = kvp.Value; } } } return(combinedOutcome); }