public static async Task SetHex(Color color, ulong UserId) { using var DbContext = new NamikoDbContext(); var profile = DbContext.Profiles.Where(x => x.UserId == UserId).FirstOrDefault(); //checking hex validity (makes sure hex colour.len ALWAYS = 6) string colour = color.Name; int boundary = colour.Length; if (boundary < 6) { colour = new string('0', 6 - boundary) + colour; } //if this user has not set a custom colour if (profile == null) { DbContext.Add(new Profile { UserId = UserId, ColorHex = colour }); await DbContext.SaveChangesAsync(); return; } //setting profile values + updating stack profile.PriorColorHexStack = PushStackManagement(profile.ColorHex, profile.PriorColorHexStack); profile.ColorHex = colour; DbContext.Update(profile); await DbContext.SaveChangesAsync(); }
public static async Task <int> RenameWaifu(string oldName, string newName) { using var db = new NamikoDbContext(); var inv = db.UserInventories.Where(x => x.Waifu.Name == oldName); var wish = db.WaifuWishlist.Where(x => x.Waifu.Name == oldName); var store = db.ShopWaifus.Where(x => x.Waifu.Name == oldName); var feat = db.FeaturedWaifus.Where(x => x.Waifu.Name == oldName); var actual = db.Waifus.Where(x => x.Name == oldName); var invL = inv.ToList(); var wishL = wish.ToList(); var storeL = store.ToList(); var featL = feat.ToList(); var actualL = actual.ToList(); db.UserInventories.RemoveRange(inv); db.WaifuWishlist.RemoveRange(wish); db.ShopWaifus.RemoveRange(store); db.FeaturedWaifus.RemoveRange(feat); db.Waifus.RemoveRange(actual); await db.SaveChangesAsync(); foreach (var x in invL) { x.Waifu.Name = newName; } foreach (var x in wishL) { x.Waifu.Name = newName; } foreach (var x in storeL) { x.Waifu.Name = newName; } foreach (var x in featL) { x.Waifu.Name = newName; } foreach (var x in actualL) { x.Name = newName; } db.Waifus.AddRange(actualL); int res = await db.SaveChangesAsync(); db.UserInventories.AddRange(invL); db.WaifuWishlist.AddRange(wishL); db.ShopWaifus.AddRange(storeL); db.FeaturedWaifus.AddRange(featL); return(res + await db.SaveChangesAsync()); }
public static async Task AddLootbox(ulong UserId, LootBoxType type, int amount, ulong GuildId = 0) { using var db = new NamikoDbContext(); var box = db.LootBoxes.Where(x => x.UserId == UserId && x.Type == type && x.GuildId == GuildId).FirstOrDefault(); if (box == null) { db.LootBoxes.Add(new LootBox { UserId = UserId, GuildId = GuildId, Amount = amount, Type = type }); } else { box.Amount += amount; if (box.Amount < 0) { throw new Exception("Lootbox amount < 0"); } db.LootBoxes.Update(box); } await db.SaveChangesAsync(); }
public static async Task Delete(ulong roleId) { using var DbContext = new NamikoDbContext(); var publicRole = DbContext.PublicRoles.Where(x => x.RoleId == roleId).FirstOrDefault(); DbContext.PublicRoles.Remove(publicRole); await DbContext.SaveChangesAsync(); }
public static async Task Add(ulong roleId, ulong guildId) { using var DbContext = new NamikoDbContext(); DbContext.Add(new PublicRole { RoleId = roleId, GuildId = guildId }); await DbContext.SaveChangesAsync(); }
public static async Task Add(ulong roleId, ulong guildId, RoleType type) { using var DbContext = new NamikoDbContext(); DbContext.PermissionRoles.Add(new PermissionRole { RoleId = roleId, GuildId = guildId, Type = type }); await DbContext.SaveChangesAsync(); }
public static async Task AddMessage(String message) { using var DbContext = new NamikoDbContext(); DbContext.Add(new WelcomeMessage { Message = message }); await DbContext.SaveChangesAsync(); }
public static async Task DeleteMessage(int id) { using var DbContext = new NamikoDbContext(); WelcomeMessage message = DbContext.WelcomeMessages.Where(x => x.Id == id).FirstOrDefault(); DbContext.WelcomeMessages.Remove(message); await DbContext.SaveChangesAsync(); }
public static async Task NewInvite(ulong teamId, ulong userId) { using var DbContext = new NamikoDbContext(); DbContext.Add(new Invite { TeamId = teamId, UserId = userId, Date = DateTime.Now }); await DbContext.SaveChangesAsync(); }
public static async Task DeleteInvite(ulong teamId, ulong userId) { using var DbContext = new NamikoDbContext(); var invite = DbContext.Invites.Where(x => x.TeamId == teamId && x.UserId == userId).FirstOrDefault(); DbContext.Remove(invite); await DbContext.SaveChangesAsync(); }
public static async Task AddTeam(ulong leaderId, ulong memberId, ulong guildId) { using var DbContext = new NamikoDbContext(); DbContext.Add(new Team { LeaderRoleId = leaderId, MemberRoleId = memberId, GuildId = guildId }); await DbContext.SaveChangesAsync(); }
public static async Task Add(ulong id) { using var db = new NamikoDbContext(); db.Blacklist.Add(new Blacklisted { Id = id }); await db.SaveChangesAsync(); }
public static async Task CreateAlbum(string name, string albumId) { using var db = new NamikoDbContext(); db.Add(new ImgurAlbumLink { AlbumId = albumId, Name = name.ToLowerInvariant() }); await db.SaveChangesAsync(); }
public static async Task DeleteImage(int id) { using var DbContext = new NamikoDbContext(); ReactionImage image = DbContext.Images.Where(x => x.Id == id).FirstOrDefault(); DbContext.Images.Remove(image); await DbContext.SaveChangesAsync(); }
// Deletes all matching results, userId and wifeId order doesn't matter public static async Task DeleteMarriageOrProposal(ulong userId, ulong wifeId, ulong guildId) { using var db = new NamikoDbContext(); var items = db.Marriages.Where(x => ((x.UserId == userId && x.WifeId == wifeId) || (x.UserId == wifeId && x.WifeId == userId)) && x.GuildId == guildId); db.Marriages.RemoveRange(items); await db.SaveChangesAsync(); }
public static async Task DeleteByGuild(ulong guildId) { using var db = new NamikoDbContext(); var shops = db.WaifuShops.Where(x => x.GuildId == guildId); db.ShopWaifus.RemoveRange(db.ShopWaifus.Where(x => shops.Any(y => y.Id == x.WaifuShop.Id))); db.WaifuShops.RemoveRange(shops); await db.SaveChangesAsync(); }
public static async Task SetFeaturedWaifu(ulong userId, Waifu waifu, ulong guildId) { using var dbContext = new NamikoDbContext(); var entry = new FeaturedWaifu { UserId = userId, Waifu = waifu, GuildId = guildId }; dbContext.FeaturedWaifus.RemoveRange(dbContext.FeaturedWaifus.Where(x => x.UserId == userId & x.GuildId == guildId)); dbContext.FeaturedWaifus.Update(entry); await dbContext.SaveChangesAsync(); }
public static async Task DeleteWaifu(ulong userId, Waifu waifu, ulong guildId) { using var DbContext = new NamikoDbContext(); var userWaifu = DbContext.UserInventories.Where(x => x.UserId == userId && x.Waifu.Equals(waifu) && x.GuildId == guildId).FirstOrDefault(); if (userWaifu != null) { DbContext.UserInventories.Remove(userWaifu); await DbContext.SaveChangesAsync(); } }
public static async Task DeleteServer(ulong GuildId) { using var db = new NamikoDbContext(); var server = db.Servers.Where(x => x.GuildId == GuildId).FirstOrDefault(); if (server != null) { db.Remove(server); await db.SaveChangesAsync(); } }
public static async Task DeleteDisabledCommand(ulong GuildId, string name, DisabledCommandType type) { using var db = new NamikoDbContext(); var command = await db.DisabledCommands.Where(x => x.GuildId == GuildId && x.Name.Equals(name) && x.Type == type).FirstOrDefaultAsync(); if (command != null) { db.Remove(command); await db.SaveChangesAsync(); } }
public static async Task AddRole(ulong guildId, ulong roleId, int price) { using var db = new NamikoDbContext(); db.ShopRoles.Add(new ShopRole { GuildId = guildId, Price = price, RoleId = roleId }); await db.SaveChangesAsync(); }
public static async Task ToLower() { using var db = new NamikoDbContext(); var images = db.Images; foreach (var x in images) { x.Name = x.Name.ToLowerInvariant(); } db.Images.UpdateRange(images); await db.SaveChangesAsync(); }
public static async Task DeleteBlacklistedChannel(ulong channelId) { using NamikoDbContext db = new NamikoDbContext(); var ch = db.BlacklistedChannels.Where(x => x.ChannelId == channelId).FirstOrDefault(); if (ch != null) { db.Remove(ch); BlacklistedChannelIds.Remove(ch.ChannelId); await db.SaveChangesAsync(); } }
// userId is the user who proposed, wifeId is the user who received the proposal, date = now, married = false public static async Task Propose(ulong userId, ulong wifeId, ulong guildId) { using var db = new NamikoDbContext(); db.Marriages.Add(new Marriage { GuildId = guildId, UserId = userId, WifeId = wifeId, IsMarried = false, Date = System.DateTime.Now }); await db.SaveChangesAsync(); }
public static async Task DeleteLast(ulong UserId) { using var db = new NamikoDbContext(); var delete = db.Voters.Where(x => x.UserId == UserId).FirstOrDefault(); if (delete == null) { return; } db.Voters.Remove(delete); await db.SaveChangesAsync(); }
public static async Task CompletelyDeleteWaifu(Waifu waifu) { using var DbContext = new NamikoDbContext(); var userWaifu = DbContext.UserInventories.Where(x => x.Waifu.Equals(waifu)); if (userWaifu == null) { return; } DbContext.UserInventories.RemoveRange(userWaifu); await DbContext.SaveChangesAsync(); }
public static async Task HexDefault(ulong UserId) { using var DbContext = new NamikoDbContext(); var profile = DbContext.Profiles.Where(x => x.UserId == UserId).FirstOrDefault(); //if this user is not in the database if (profile == null) { DbContext.Add(new Profile { UserId = UserId }); await DbContext.SaveChangesAsync(); return; } //updating profile + stack change profile.PriorColorHexStack = PushStackManagement(profile.ColorHex, profile.PriorColorHexStack); profile.ColorHex = ""; DbContext.Update(profile); await DbContext.SaveChangesAsync(); }
public static async Task EndBanroulette(int banrouletteId) { using var db = new NamikoDbContext(); var br = db.Banroulettes.FirstOrDefault(x => x.Id == banrouletteId); if (br == null) { return; } br.Active = false; db.Update(br); await db.SaveChangesAsync(); }
public static async Task <int> AddWaifu(ulong userId, Waifu waifu, ulong guildId) { using var DbContext = new NamikoDbContext(); var inv = new UserInventory { UserId = userId, Waifu = waifu, GuildId = guildId, DateBought = DateTime.Now }; DbContext.Update(inv); int res = await DbContext.SaveChangesAsync(); await WaifuWishlistDb.DeleteWaifuWish(userId, waifu, guildId); return(res); }
public static async Task UpdateParam(Param param) { using var db = new NamikoDbContext(); if (!db.Params.Any(x => x.Id == param.Id)) { db.Params.Add(param); } else { db.Params.Update(param); } await db.SaveChangesAsync(); }