44 lines
1.4 KiB
C#
44 lines
1.4 KiB
C#
using Discord;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
|
|
namespace Sean.Services
|
|
{
|
|
public class AwardsPersistencyService
|
|
{
|
|
#region Fields
|
|
private Dictionary<string, int> scores = new Dictionary<string, int>();
|
|
#endregion Fields
|
|
|
|
#region Methods
|
|
public int AddPoint(IUser user)
|
|
{
|
|
if (!scores.ContainsKey($"{user.Username}#{user.Discriminator}"))
|
|
scores.Add($"{user.Username}#{user.Discriminator}", 1);
|
|
else
|
|
scores[$"{user.Username}#{user.Discriminator}"]++;
|
|
return scores[$"{user.Username}#{user.Discriminator}"];
|
|
}
|
|
|
|
public string LeaderBoard()
|
|
{
|
|
string board = string.Empty;
|
|
foreach (KeyValuePair<string, int> score in scores.OrderByDescending(s => s.Value))
|
|
{
|
|
board += $@"{score.Key} => {score.Value}" + Environment.NewLine;
|
|
}
|
|
return board;
|
|
}
|
|
|
|
public int RemovePoint(IUser user)
|
|
{
|
|
if (!scores.ContainsKey($"{user.Username}#{user.Discriminator}"))
|
|
scores.Add($"{user.Username}#{user.Discriminator}", -1);
|
|
else
|
|
scores[$"{user.Username}#{user.Discriminator}"]--;
|
|
return scores[$"{user.Username}#{user.Discriminator}"];
|
|
}
|
|
#endregion Methods
|
|
}
|
|
} |