Removed plantedcurrency repository

This commit is contained in:
Kwoth
2021-06-18 09:00:55 +02:00
parent 32dee3a078
commit a3fa8224c4
6 changed files with 14 additions and 49 deletions

View File

@@ -16,7 +16,6 @@ namespace NadekoBot.Core.Services.Database
IDiscordUserRepository DiscordUsers { get; }
IWarningsRepository Warnings { get; }
IXpRepository Xp { get; }
IPlantedCurrencyRepository PlantedCurrency { get; }
int SaveChanges();
Task<int> SaveChangesAsync();

View File

@@ -1,10 +0,0 @@
using NadekoBot.Core.Services.Database.Models;
namespace NadekoBot.Core.Services.Database.Repositories
{
public interface IPlantedCurrencyRepository : IRepository<PlantedCurrency>
{
(long Sum, ulong[] MessageIds) RemoveSumAndGetMessageIdsFor(ulong cid, string pass);
decimal GetTotalPlanted();
}
}

View File

@@ -1,32 +0,0 @@
using Microsoft.EntityFrameworkCore;
using NadekoBot.Core.Services.Database.Models;
using NadekoBot.Extensions;
using System.Linq;
namespace NadekoBot.Core.Services.Database.Repositories.Impl
{
public class PlantedCurrencyRepository : Repository<PlantedCurrency>, IPlantedCurrencyRepository
{
public PlantedCurrencyRepository(DbContext context) : base(context)
{
}
public decimal GetTotalPlanted()
{
return _set.Sum(x => x.Amount);
}
public (long Sum, ulong[] MessageIds) RemoveSumAndGetMessageIdsFor(ulong cid, string pass = null)
{
pass = pass?.Trim().TrimTo(10, hideDots: true).ToUpperInvariant();
// gets all plants in this channel with the same password
var entries = _set.AsQueryable().Where(x => x.ChannelId == cid && pass == x.Password).ToArray();
// sum how much currency that is, and get all of the message ids (so that i can delete them)
var toReturn = (entries.Sum(x => x.Amount), entries.Select(x => x.MessageId).ToArray());
// remove them from the database
_set.RemoveRange(entries);
return toReturn;
}
}
}

View File

@@ -33,9 +33,6 @@ namespace NadekoBot.Core.Services.Database
private IXpRepository _xp;
public IXpRepository Xp => _xp ?? (_xp = new XpRepository(_context));
private IPlantedCurrencyRepository _planted;
public IPlantedCurrencyRepository PlantedCurrency => _planted ?? (_planted = new PlantedCurrencyRepository(_context));
public UnitOfWork(NadekoContext context)
{
_context = context;