public void ModifyProfile(ulong discordID, Action <DiscordProfile> modifyAction) { DiscordProfile profile = null; //if not in cache if (profileCache.TryGetValue(discordID, out profile) == false) { //if not in cache, attempt to read from disk if (File.Exists($"{DiscordProfileDirectory}/{discordID}")) { profile = JsonConvert.DeserializeObject <DiscordProfile>(File.ReadAllText($"{DiscordProfileDirectory}/{discordID}")); } else { //if not on disk create new profile = new DiscordProfile(); } } modifyAction?.Invoke(profile); profile.WasModified = true; profileCache.TryAdd(discordID, profile); }
public DiscordProfile GetProfile(ulong discordID) { DiscordProfile profile = null; //if not in cache if (profileCache.TryGetValue(discordID, out profile) == false) { //if not in cache, attempt to read from disk if (File.Exists($"{DiscordProfileDirectory}/{discordID}")) { profile = JsonConvert.DeserializeObject <DiscordProfile>(File.ReadAllText($"{DiscordProfileDirectory}/{discordID}")); } else { //if not on disk create new profile = new DiscordProfile(); } } profileCache.TryAdd(discordID, profile); return(profile); }