internal void UpdateEntry([NotNull] string id, [NotNull] KunosCareerProgressEntry entry, bool globalUpdate) { if (id == null) { throw new ArgumentNullException(nameof(id)); } if (entry == null) { throw new ArgumentNullException(nameof(entry)); } id = id.ToLowerInvariant(); var data = Entries.ToDictionary(x => x.Key.ToLowerInvariant(), x => x.Key.Equals(id, StringComparison.OrdinalIgnoreCase) ? entry : x.Value); if (!data.ContainsKey(id)) { data[id] = entry; } if (globalUpdate) { Entries = data; } else { _entries = data; SaveLater(); } }