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