Moved some ICurrencyService methods to extensions to simplify use

This commit is contained in:
Kwoth
2022-03-19 21:19:22 +01:00
parent 416f3d604c
commit e09435da37
4 changed files with 29 additions and 24 deletions

View File

@@ -0,0 +1,28 @@
using NadekoBot.Services.Currency;
namespace NadekoBot.Services;
public static class CurrencyServiceExtensions
{
public static async Task<long> GetBalanceAsync(this ICurrencyService cs, ulong userId)
{
await using var wallet = await cs.GetWalletAsync(userId);
return await wallet.GetBalance();
}
public static async Task<bool> TransferAsync(
this ICurrencyService cs,
ulong fromId,
ulong toId,
long amount,
string fromName,
string note)
{
await using var fromWallet = await cs.GetWalletAsync(fromId);
await using var toWallet = await cs.GetWalletAsync(toId);
var extra = new TxData("gift", fromName, note, fromId);
return await fromWallet.Transfer(amount, toWallet, extra);
}
}