diff --git a/src/Ellie.Bot.Common/Extensions/DbExtensions.cs b/src/Ellie.Bot.Common/Extensions/DbExtensions.cs index ac10ba6..c4b9b45 100644 --- a/src/Ellie.Bot.Common/Extensions/DbExtensions.cs +++ b/src/Ellie.Bot.Common/Extensions/DbExtensions.cs @@ -1,3 +1,4 @@ +using Microsoft.EntityFrameworkCore; using Ellie.Db; using Ellie.Db.Models; // todo fix these namespaces. It should only be Ellie.Bot.Db @@ -7,6 +8,6 @@ namespace Ellie.Extensions; public static class DbExtensions { - public static DiscordUser GetOrCreateUser(this EllieBaseContext ctx, IUser original, Func, IQueryable>? includes = null) + public static DiscordUser GetOrCreateUser(this DbContext ctx, IUser original, Func, IQueryable>? includes = null) => ctx.GetOrCreateUser(original.Id, original.Username, original.Discriminator, original.AvatarId, includes); } \ No newline at end of file diff --git a/src/Ellie.Bot.Modules.Expresssions/Ellie.Bot.Modules.Expresssions.csproj b/src/Ellie.Bot.Modules.Expresssions/Ellie.Bot.Modules.Expresssions.csproj index 5529529..9ca07da 100644 --- a/src/Ellie.Bot.Modules.Expresssions/Ellie.Bot.Modules.Expresssions.csproj +++ b/src/Ellie.Bot.Modules.Expresssions/Ellie.Bot.Modules.Expresssions.csproj @@ -14,7 +14,7 @@ - + diff --git a/src/Ellie.Bot.Modules.Expresssions/EllieExpressionsService.cs b/src/Ellie.Bot.Modules.Expresssions/EllieExpressionsService.cs index a0d1da5..76cde4a 100644 --- a/src/Ellie.Bot.Modules.Expresssions/EllieExpressionsService.cs +++ b/src/Ellie.Bot.Modules.Expresssions/EllieExpressionsService.cs @@ -110,28 +110,28 @@ public sealed class EllieExpressionsService : IExecOnMessage, IReadyExecutor private async Task ReloadInternal(IReadOnlyList allGuildIds) { await using var uow = _db.GetDbContext(); - var guildItems = await uow.Expressions.AsNoTracking() + var guildItems = await uow.Set().AsNoTracking() .Where(x => allGuildIds.Contains(x.GuildId.Value)) .ToListAsync(); newguildExpressions = guildItems.GroupBy(k => k.GuildId!.Value) .ToDictionary(g => g.Key, g => g.Select(x => - { - x.Trigger = x.Trigger.Replace(MENTION_PH, _client.CurrentUser.Mention); - return x; - }) + { + x.Trigger = x.Trigger.Replace(MENTION_PH, _client.CurrentUser.Mention); + return x; + }) .ToArray()) .ToConcurrent(); - _disabledGlobalExpressionGuilds = new(await uow.GuildConfigs + _disabledGlobalExpressionGuilds = new(await uow.Set() .Where(x => x.DisableGlobalExpressions) .Select(x => x.GuildId) .ToListAsyncLinqToDB()); lock (_gexprWriteLock) { - var globalItems = uow.Expressions.AsNoTracking() + var globalItems = uow.Set().AsNoTracking() .Where(x => x.GuildId == null || x.GuildId == 0) .AsEnumerable() .Select(x => @@ -250,7 +250,7 @@ public sealed class EllieExpressionsService : IExecOnMessage, IReadyExecutor return false; // todo print error etc - + // if (await _cmdCds.TryBlock(guild, msg.Author, expr.Trigger)) // return false; @@ -344,7 +344,7 @@ public sealed class EllieExpressionsService : IExecOnMessage, IReadyExecutor { EllieExpression expr; await using var uow = _db.GetDbContext(); - expr = uow.Expressions.GetById(id); + expr = uow.Set().GetById(id); if (expr is null) return; @@ -459,7 +459,7 @@ public sealed class EllieExpressionsService : IExecOnMessage, IReadyExecutor EllieExpression expr; await using (var uow = _db.GetDbContext()) { - expr = uow.Expressions.GetById(id); + expr = uow.Set().GetById(id); if (expr is null) return; @@ -477,7 +477,7 @@ public sealed class EllieExpressionsService : IExecOnMessage, IReadyExecutor EllieExpression expr; await using (var uow = _db.GetDbContext()) { - expr = uow.Expressions.GetById(id); + expr = uow.Set().GetById(id); if (expr is null || expr.GuildId != guildId) return (false, false); @@ -501,7 +501,7 @@ public sealed class EllieExpressionsService : IExecOnMessage, IReadyExecutor public EllieExpression GetExpression(ulong? guildId, int id) { using var uow = _db.GetDbContext(); - var expr = uow.Expressions.GetById(id); + var expr = uow.Set().GetById(id); if (expr is null || expr.GuildId != guildId) return null; @@ -511,7 +511,7 @@ public sealed class EllieExpressionsService : IExecOnMessage, IReadyExecutor public int DeleteAllExpressions(ulong guildId) { using var uow = _db.GetDbContext(); - var count = uow.Expressions.ClearFromGuild(guildId); + var count = uow.Set().ClearFromGuild(guildId); uow.SaveChanges(); newguildExpressions.TryRemove(guildId, out _); @@ -569,7 +569,7 @@ public sealed class EllieExpressionsService : IExecOnMessage, IReadyExecutor foreach (var entry in data) { var trigger = entry.Key; - await uow.Expressions.AddRangeAsync(entry.Value.Where(expr => !string.IsNullOrWhiteSpace(expr.Res)) + await uow.Set().AddRangeAsync(entry.Value.Where(expr => !string.IsNullOrWhiteSpace(expr.Res)) .Select(expr => new EllieExpression { GuildId = guildId, @@ -658,7 +658,7 @@ public sealed class EllieExpressionsService : IExecOnMessage, IReadyExecutor private async Task OnJoinedGuild(GuildConfig gc) { await using var uow = _db.GetDbContext(); - var exprs = await uow.Expressions.AsNoTracking().Where(x => x.GuildId == gc.GuildId).ToArrayAsync(); + var exprs = await uow.Set().AsNoTracking().Where(x => x.GuildId == gc.GuildId).ToArrayAsync(); newguildExpressions[gc.GuildId] = exprs; } @@ -682,7 +682,7 @@ public sealed class EllieExpressionsService : IExecOnMessage, IReadyExecutor await using (var uow = _db.GetDbContext()) { - uow.Expressions.Add(expr); + uow.Set().Add(expr); await uow.SaveChangesAsync(); } @@ -694,7 +694,7 @@ public sealed class EllieExpressionsService : IExecOnMessage, IReadyExecutor public async Task EditAsync(ulong? guildId, int id, string message) { await using var uow = _db.GetDbContext(); - var expr = uow.Expressions.GetById(id); + var expr = uow.Set().GetById(id); if (expr is null || expr.GuildId != guildId) return null; @@ -720,14 +720,14 @@ public sealed class EllieExpressionsService : IExecOnMessage, IReadyExecutor public async Task DeleteAsync(ulong? guildId, int id) { await using var uow = _db.GetDbContext(); - var toDelete = uow.Expressions.GetById(id); + var toDelete = uow.Set().GetById(id); if (toDelete is null) return null; if ((toDelete.IsGlobal() && guildId is null) || guildId == toDelete.GuildId) { - uow.Expressions.Remove(toDelete); + uow.Set().Remove(toDelete); await uow.SaveChangesAsync(); await DeleteInternalAsync(guildId, id); return toDelete; @@ -762,4 +762,3 @@ public sealed class EllieExpressionsService : IExecOnMessage, IReadyExecutor return toReturn; } } -