forked from EllieBotDevs/elliebot
92 lines
No EOL
2.8 KiB
C#
92 lines
No EOL
2.8 KiB
C#
// namespace EllieBot.Modules.Gambling;
|
|
// public sealed class Loan
|
|
// {
|
|
// public int Id { get; set; }
|
|
// public ulong LenderId { get; set; }
|
|
// public string LenderName { get; set; }
|
|
// public ulong BorrowerId { get; set; }
|
|
// public string BorrowerName { get; set; }
|
|
// public long Amount { get; set; }
|
|
// public decimal Interest { get; set; }
|
|
// public DateTime DueDate { get; set; }
|
|
// public bool Repaid { get; set; }
|
|
// }
|
|
//
|
|
// public sealed class LoanService : INService
|
|
// {
|
|
// public async Task<IReadOnlyList<Loan>> GetLoans(ulong userId)
|
|
// {
|
|
// }
|
|
//
|
|
// public async Task<object> RepayAsync(object loandId)
|
|
// {
|
|
// }
|
|
// }
|
|
//
|
|
// public partial class Gambling
|
|
// {
|
|
// public partial class LoanCommands : EllieModule<LoanService>
|
|
// {
|
|
// [Cmd]
|
|
// public async Task Loan(
|
|
// IUser lender,
|
|
// long amount,
|
|
// decimal interest = 0,
|
|
// TimeSpan dueIn = default)
|
|
// {
|
|
// var eb = _sender.CreateEmbed()
|
|
// .WithOkColor()
|
|
// .WithDescription("User 0 Requests a loan from User {1}")
|
|
// .AddField("Amount", amount, true)
|
|
// .AddField("Interest", (interest * 0.01m).ToString("P2"), true);
|
|
// }
|
|
//
|
|
// public Task Loans()
|
|
// => Loans(ctx.User);
|
|
//
|
|
// public async Task Loans([Leftover] IUser user)
|
|
// {
|
|
// var loans = await _service.GetLoans(user.Id);
|
|
//
|
|
// Response()
|
|
// .Paginated()
|
|
// .PageItems(loans)
|
|
// .Page((items, page) =>
|
|
// {
|
|
// var eb = _sender.CreateEmbed()
|
|
// .WithOkColor()
|
|
// .WithDescription("Current Loans");
|
|
//
|
|
// foreach (var item in items)
|
|
// {
|
|
// eb.AddField(new kwum(item.id).ToString(),
|
|
// $"""
|
|
// To: {item.LenderName}
|
|
// Amount: {}
|
|
// """,
|
|
// true);
|
|
// }
|
|
//
|
|
// return eb;
|
|
// });
|
|
// }
|
|
//
|
|
// [Cmd]
|
|
// public async Task Repay(kwum loanId)
|
|
// {
|
|
// var res = await _service.RepayAsync(loandId);
|
|
//
|
|
// if (res.TryPickT0(out var _, out var err))
|
|
// {
|
|
// }
|
|
// else
|
|
// {
|
|
// var errStr = err.Match(
|
|
// _ => "Not enough funds",
|
|
// _ => "Loan not found");
|
|
//
|
|
// await Response().Error(errStr).SendAsync();
|
|
// }
|
|
// }
|
|
// }
|
|
// } |