示例#1
0
 public static List <PublicRole> GetAll(ulong guildId)
 {
     using var DbContext = new NamikoDbContext();
     return(DbContext.PublicRoles.Where(x => x.GuildId == guildId).ToList());
 }
示例#2
0
 public static HashSet <ulong> GetNotLeft()
 {
     using var db = new NamikoDbContext();
     return(db.Servers.Where(x => x.LeaveDate == null).Select(x => x.GuildId).ToHashSet());
 }
示例#3
0
 public static async Task DeleteShop(ulong guildId, ShopType type)
 {
     using var db = new NamikoDbContext();
     db.WaifuShops.RemoveRange(db.WaifuShops.Where(x => x.GuildId == guildId && x.Type == type));
     await db.SaveChangesAsync();
 }
示例#4
0
 public static async Task <List <ulong> > GetVoters(DateTime dateFrom, DateTime dateTo)
 {
     using var db = new NamikoDbContext();
     return(await db.Voters.Where(x => x.Date > dateFrom && x.Date < dateTo).Select(x => x.UserId).ToListAsync());
 }
示例#5
0
 public static Server GetServer(ulong GuildId)
 {
     using var db = new NamikoDbContext();
     return(db.Servers.Where(x => x.GuildId == GuildId).FirstOrDefault());
 }
示例#6
0
 public static int GetAmount(ulong UserId, LootBoxType type, ulong GuildId = 0)
 {
     using var db = new NamikoDbContext();
     return(db.LootBoxes.Where(x => x.UserId == UserId && x.Type == type && x.GuildId == GuildId).Select(x => x.Amount).FirstOrDefault());
 }
示例#7
0
 public static async Task AddVoter(Voter voter)
 {
     using var db = new NamikoDbContext();
     db.Voters.Add(voter);
     await db.SaveChangesAsync();
 }
示例#8
0
文件: RedditDb.cs 项目: ta1H3n/Namiko
 public static bool Exists(string permalink, int upvotes = 0)
 {
     using var db = new NamikoDbContext();
     return(db.RedditPosts.Any(x => x.PermaLink == permalink && x.Upvotes > upvotes));
 }
示例#9
0
 public async static Task <int> ExecuteSQL(string query)
 {
     using var db = new NamikoDbContext();
     return(await db.Database.ExecuteSqlRawAsync(query));
 }
示例#10
0
 public static Boolean IsInvited(ulong teamId, ulong userId)
 {
     using var DbContext = new NamikoDbContext();
     return(DbContext.Invites.Any(x => x.TeamId == teamId && x.UserId == userId));
 }
示例#11
0
 public static async Task <int> DeleteOlder(DateTime date)
 {
     using var db = new NamikoDbContext();
     db.RemoveRange(db.Invites.Where(x => x.Date < date));
     return(await db.SaveChangesAsync());
 }
示例#12
0
 public static async Task <bool> IsRole(ulong roleId)
 {
     using var db = new NamikoDbContext();
     return(await db.ShopRoles.AnyAsync(x => x.RoleId == roleId));
 }
示例#13
0
 public static async Task RemoveRole(ulong roleId)
 {
     using var db = new NamikoDbContext();
     db.ShopRoles.Remove(db.ShopRoles.FirstOrDefault(x => x.RoleId == roleId));
     await db.SaveChangesAsync();
 }
示例#14
0
 public static async Task <List <ShopRole> > GetRoles(ulong guildId)
 {
     using var db = new NamikoDbContext();
     return(await db.ShopRoles.Where(x => x.GuildId == guildId).OrderByDescending(x => x.Price).ToListAsync());
 }
示例#15
0
 public static async Task <ulong> GetRoleId(ulong guildId)
 {
     using var db = new NamikoDbContext();
     return(await db.Banroyales.OrderByDescending(x => x.Id).Where(x => x.GuildId == guildId).Select(x => x.ParticipantRoleId).FirstOrDefaultAsync());
 }
示例#16
0
 public static List <Marriage> GetMarriages(ulong userId, ulong guildId)
 {
     using var db = new NamikoDbContext();
     return(db.Marriages.Where(x => x.IsMarried == true && (x.UserId == userId || x.WifeId == userId) && x.GuildId == guildId).ToList());
 }
示例#17
0
 public static async Task AddBanroyale(Banroyale banroyale)
 {
     using var db = new NamikoDbContext();
     db.Banroyales.Add(banroyale);
     await db.SaveChangesAsync();
 }
示例#18
0
 public static List <Marriage> GetProposalsSent(ulong userId, ulong guildId)
 {
     using var db = new NamikoDbContext();
     return(db.Marriages.Where(x => x.IsMarried == false && x.UserId == userId && x.GuildId == guildId).ToList());
 }
示例#19
0
 public static async Task AddVoters(IEnumerable <Voter> voters)
 {
     using var db = new NamikoDbContext();
     db.Voters.AddRange(voters);
     await db.SaveChangesAsync();
 }
示例#20
0
 //Method: get specific proposal or marriage
 public static Marriage GetMarriageOrProposal(ulong userId, ulong wifeId, ulong guildId)
 {
     using var db = new NamikoDbContext();
     return(db.Marriages.Where(x => x.UserId == userId && x.WifeId == wifeId && x.GuildId == guildId).FirstOrDefault());
 }
示例#21
0
 public static List <Voter> GetVoters()
 {
     using var db = new NamikoDbContext();
     return(db.Voters.ToList());
 }
示例#22
0
 // You already have the marriage obj at the point you want to set married to true, so you can do it manually and just update
 public static async Task UpdateMarriage(Marriage marriage)
 {
     using var db = new NamikoDbContext();
     db.Marriages.Update(marriage);
     await db.SaveChangesAsync();
 }
示例#23
0
 public static async Task <int> VoteCount(ulong userId)
 {
     using var db = new NamikoDbContext();
     return(await db.Voters.CountAsync(x => x.UserId == userId));
 }
示例#24
0
 // To delete the marriage you want to delete and not all of them
 public static async Task DeleteMarriageOrProposal(Marriage marriage)
 {
     using var db = new NamikoDbContext();
     db.Marriages.Remove(marriage);
     await db.SaveChangesAsync();
 }
示例#25
0
 public static HashSet <ulong> GetAll()
 {
     using var db = new NamikoDbContext();
     return(db.Servers.Select(x => x.GuildId).ToHashSet());
 }
示例#26
0
 public static async Task DeleteByGuild(ulong guildId)
 {
     using var db = new NamikoDbContext();
     db.Marriages.RemoveRange(db.Marriages.Where(x => x.GuildId == guildId));
     await db.SaveChangesAsync();
 }
示例#27
0
 public static List <Server> GetOld()
 {
     using var db = new NamikoDbContext();
     return(db.Servers.Where(x => x.LeaveDate != null && x.LeaveDate.Value.AddDays(3) < DateTime.Now).ToList());
 }
示例#28
0
 public static async Task <Banroyale> GetBanroyale(ulong channelId)
 {
     using var db = new NamikoDbContext();
     return(await db.Banroyales.OrderByDescending(x => x.Id).FirstOrDefaultAsync(x => x.ChannelId == channelId && x.Active));
 }
示例#29
0
 public static async Task AddItem(ShopWaifu shopWaifu)
 {
     using var dbContext = new NamikoDbContext();
     dbContext.ShopWaifus.Add(shopWaifu);
     await dbContext.SaveChangesAsync();
 }
示例#30
0
 public static bool IsPublic(ulong roleId)
 {
     using var DbContext = new NamikoDbContext();
     return(DbContext.PublicRoles.Any(x => x.RoleId == roleId));
 }