Make locale a feature

This commit is contained in:
Basique Evangelist 2019-12-09 09:24:27 +00:00
parent a354305334
commit 87ed735486
Signed by untrusted user: BasiqueEvangelist
GPG Key ID: B370219149301706
8 changed files with 10 additions and 9 deletions

View File

@ -18,7 +18,7 @@ namespace JetKarmaBot.Commands
public async Task<bool> Execute(RequestContext ctx)
{
var db = ctx.GetFeature<KarmaContext>();
var currentLocale = Locale[(await db.Chats.FindAsync(ctx.EventArgs.Message.Chat.Id)).Locale];
var currentLocale = ctx.GetFeature<Locale>();
var awarder = ctx.EventArgs.Message.From;
string awardTypeText = null;

View File

@ -16,10 +16,10 @@ namespace JetKarmaBot.Commands
public async Task<bool> Execute(RequestContext ctx)
{
var db = ctx.GetFeature<KarmaContext>();
var currentLocale = ctx.GetFeature<Locale>();
var cmd = ctx.Command;
var args = ctx.EventArgs;
var currentLocale = Locale[(await db.Chats.FindAsync(ctx.EventArgs.Message.Chat.Id)).Locale];
if (cmd.Parameters.Length < 1)
{
await ctx.SendMessage(currentLocale["jetkarmabot.changelocale.getlocale"]);

View File

@ -22,7 +22,7 @@ namespace JetKarmaBot.Commands
public async Task<bool> Execute(RequestContext ctx)
{
var db = ctx.GetFeature<KarmaContext>();
var currentLocale = Locale[(await db.Chats.FindAsync(ctx.EventArgs.Message.Chat.Id)).Locale];
var currentLocale = ctx.GetFeature<Locale>();
await ctx.SendMessage(
currentLocale["jetkarmabot.currencies.listtext"] + "\n" + string.Join("\n",
(await db.AwardTypes.ToListAsync())

View File

@ -27,8 +27,7 @@ namespace JetKarmaBot.Commands
public async Task<bool> Execute(RequestContext ctx)
{
var db = ctx.GetFeature<KarmaContext>();
var currentLocale = Locale[(await db.Chats.FindAsync(ctx.EventArgs.Message.Chat.Id)).Locale];
var currentLocale = ctx.GetFeature<Locale>();
var router = ctx.GetFeature<ChatCommandRouter.Feature>().Router;
if (ctx.Command.Parameters.Length < 1)
{

View File

@ -15,7 +15,7 @@ namespace JetKarmaBot.Commands
public async Task<bool> Execute(RequestContext ctx)
{
var db = ctx.GetFeature<KarmaContext>();
var currentLocale = Locale[(await db.Chats.FindAsync(ctx.EventArgs.Message.Chat.Id)).Locale];
var currentLocale = ctx.GetFeature<Locale>();
var asker = ctx.EventArgs.Message.From;
var awardTypeName = ctx.Command.Parameters.FirstOrDefault();

View File

@ -15,7 +15,7 @@ namespace JetKarmaBot.Commands
public async Task<bool> Execute(RequestContext ctx)
{
var db = ctx.GetFeature<KarmaContext>();
var currentLocale = Locale[(await db.Chats.FindAsync(ctx.EventArgs.Message.Chat.Id)).Locale];
var currentLocale = ctx.GetFeature<Locale>();
var asker = ctx.EventArgs.Message.From;
var awardTypeName = ctx.Command.Parameters.FirstOrDefault();
bool isPrivate = ctx.EventArgs.Message.Chat.Type == Telegram.Bot.Types.Enums.ChatType.Private;

View File

@ -7,11 +7,13 @@ namespace JetKarmaBot.Services.Handling
public class DatabaseHandler : IRequestHandler
{
[Inject] private KarmaContextFactory Db;
[Inject] private Localization Locale;
public async Task Handle(RequestContext ctx, Func<RequestContext, Task> next)
{
using (var db = Db.GetContext())
{
ctx.Features.Add(db);
ctx.Features.Add(db); // KarmaContext
ctx.Features.Add(Locale[(await db.Chats.FindAsync(ctx.EventArgs.Message.Chat.Id)).Locale]); // Locale
await next(ctx);
await db.SaveChangesAsync();
}

View File

@ -101,7 +101,7 @@ namespace JetKarmaBot.Services.Handling
{
if (!TimeoutCache[uid].TimeoutMessaged)
{
Locale currentLocale = Locale[(await db.Chats.FindAsync(ctx.EventArgs.Message.Chat.Id)).Locale];
Locale currentLocale = ctx.GetFeature<Locale>();
await ctx.SendMessage(currentLocale["jetkarmabot.ratelimit"]);
TimeoutCache[uid] = new TimeoutStats() { TimeoutMessaged = true, CooldownDate = TimeoutCache[uid].CooldownDate };
}