예제 #1
0
        public async Task FixBalanceCommand()
        {
            var itemsDict    = Item.GetItems();
            var usersDict    = MarbleBotUser.GetUsers();
            var newUsersDict = new Dictionary <ulong, MarbleBotUser>();

            foreach ((ulong userId, MarbleBotUser user) in usersDict !)
            {
                user.Balance = user.NetWorth - (user.Items?.Aggregate(0m, (total, itemPair) =>
                {
                    total += itemsDict[itemPair.Key].Price * itemPair.Value;
                    return(total);
                }) ?? 0);
                newUsersDict.Add(userId, user);
            }

            MarbleBotUser.UpdateUsers(newUsersDict);
            await SendSuccessAsync("Success.");
        }