Example #1
0
        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();
            }
        }