public void Fill(BannedUser bannedUser) { //是全站屏蔽的 if (bannedUser.ForumID == 0) { m_BannedInSite = true; if (m_BannedInSiteEndDate < bannedUser.EndDate) m_BannedInSiteEndDate = bannedUser.EndDate; } //在指定的板块屏蔽 else { m_BannedInAnyForum = true; if (m_BannedInAnyForumLastEndDate < bannedUser.EndDate) m_BannedInAnyForumLastEndDate = bannedUser.EndDate; if (m_BannedInForumEndDates == null) { m_BannedInForumEndDates = new Dictionary<int, DateTime>(); m_BannedInForumEndDates.Add(bannedUser.ForumID, bannedUser.EndDate); } else { DateTime endDate; if (m_BannedInForumEndDates.TryGetValue(bannedUser.ForumID, out endDate)) { if (endDate < bannedUser.EndDate) m_BannedInForumEndDates[bannedUser.ForumID] = bannedUser.EndDate; } } } }
// GET: Auction/BanUser public ActionResult BanUser(int iduser, int idpro) { dynamic emailkick = new Email("Kick"); using (var ctx = new AuctionSiteDBEntities()) { //get product var pro = ctx.Products.Where(p => p.ID == idpro).FirstOrDefault(); var user = ctx.Users.Where(u => u.ID == iduser).FirstOrDefault(); var ban = new BannedUser() { IDProduct = idpro, IDUser = iduser, }; //get onwer Auction currentowner = ctx.Auctions.Where(a => a.own == true && a.IDPro == idpro).FirstOrDefault(); //create an email emailkick.To = CurrentContext.GetCurUser().Email; emailkick.Name = user.Name; emailkick.ProName = pro.Name; emailkick.Send(); ctx.BannedUsers.Add(ban); ctx.SaveChanges(); //check if we dont kick the onwer if (currentowner.IDUser != user.ID) { return(RedirectToAction("SettedBid", "Auction", new { id = idpro })); } } using (var update = new AuctionSiteDBEntities()) { var currentowner = update.Auctions.Where(a => a.own == true && a.IDPro == idpro).FirstOrDefault(); currentowner.own = false; var secondMax = update.Auctions.OrderByDescending(a => a.MaxPrice) .Where(p => p.IDPro == idpro) .Skip(1).FirstOrDefault(); //more than 1 price setting if (secondMax != null) { secondMax.own = true; //udpate maxprice of product Product pro = update.Products.Where(p => p.ID == idpro).FirstOrDefault <Product>(); pro.PriceDisplay = secondMax.MaxPrice; pro.lastuser = secondMax.IDUser; update.SaveChanges(); } //if we just have 1 setting price for this product then second will be turnned into null else { //udpate maxprice of product Product pro = update.Products.Where(p => p.ID == idpro).FirstOrDefault <Product>(); pro.PriceDisplay = pro.StartPrice; pro.lastuser = null; update.SaveChanges(); } } return(RedirectToAction("SettedBid", "Auction", new { id = idpro })); }
public IActionResult OnPostUnban(string email) { BannedUser bannedUser = new BannedUser(); bannedUser.BannedEmail = email; _reportService.DeleteBan(bannedUser); AllBannedUsers = _reportService.BannedUsers(); ProfilePicture = _iPicture.GetProfilePicture(userID); return(Page()); }
public IActionResult OnPostBan(string email, int id) { BannedUser bannedUser = new BannedUser(); bannedUser.BannedEmail = email; _reportService.AddBan(bannedUser); _userService.DeleteUser(id); AllReports = _reportService.ReportedUsers(); ProfilePicture = _iPicture.GetProfilePicture(userID); return(Page()); }
private async Task CreateBannedUserAsync(User user) { var bannedUser = new BannedUser() { UserId = user.Id, StartDate = DateTime.Today, EndDate = DateTime.Today.AddDays(30) //Description = ... }; _context.BannedUsers.Add(bannedUser); await _context.SaveChangesAsync().ConfigureAwait(false); }
/// <summary> /// 取得某用户的所有被屏蔽的版块信息 /// </summary> /// <param name="userID"></param> /// <returns></returns> public static BannedUserCollection GetUserBannedForumInfo(int userID) { BannedUserCollection banned = new BannedUserCollection(); if (UserBannedForums.ContainsKey(userID)) { List <int> bannedForumids = UserBannedForums[userID]; foreach (int id in bannedForumids) { long key = GetKey(userID, id); BannedUser b = AllBannedUsers.GetValue(key); if (b != null) { banned.Add(b); } } } return(banned); }
private Task Client_MessageCreated(DSharpPlus.EventArgs.MessageCreateEventArgs e) { if (BannedUser.IsBan(e.Author.Id)) { e.Message.RespondAsync("Sorry but you are banned"); return(Task.Delay(0)); } //Lua Callback var table = MoonSharp.Interpreter.DynValue.NewPrimeTable(); foreach (var item in e.Message.Content.Split(' ')) { table.Table.Append(MoonSharp.Interpreter.DynValue.NewString(item)); } Lua.Userdatas.AsayoLuaEvent.CallOnMessage(table, MoonSharp.Interpreter.UserData.Create(new Lua.Userdatas._DSharpPlus.MessageArgsObject(e))); CommandManager.Call(CommandManager.CreateContext(e));//Command manager call return(Task.Delay(0)); }
/// <summary> /// Configures model creation /// </summary> /// <param name="modelBuilder">modelBuilder to configure Model Creation</param> protected override void OnModelCreating(ModelBuilder modelBuilder) { User.Configure(modelBuilder); Phone.Configure(modelBuilder); Address.Configure(modelBuilder); UserAddress.Configure(modelBuilder); Role.Configure(modelBuilder); Organization.Configure(modelBuilder); OrgAddress.Configure(modelBuilder); ExternalContact.Configure(modelBuilder); Membership.Configure(modelBuilder); Currency.Configure(modelBuilder); BankAccount.Configure(modelBuilder); OrgAccount.Configure(modelBuilder); Balance.Configure(modelBuilder); Target.Configure(modelBuilder); FinOp.Configure(modelBuilder); Tag.Configure(modelBuilder); TagFinOp.Configure(modelBuilder); Event.Configure(modelBuilder); EventImage.Configure(modelBuilder); Complaint.Configure(modelBuilder); GoodsType.Configure(modelBuilder); GoodsCategory.Configure(modelBuilder); OfferedItem.Configure(modelBuilder); RequestedItem.Configure(modelBuilder); BankImport.Configure(modelBuilder); BankImportDetail.Configure(modelBuilder); PasswordReset.Configure(modelBuilder); BannedUser.Configure(modelBuilder); BannedOrganization.Configure(modelBuilder); SubscribeOrganization.Configure(modelBuilder); Status.Configure(modelBuilder); OfferedItemImage.Configure(modelBuilder); RequestedItemImage.Configure(modelBuilder); UserResponse.Configure(modelBuilder); OrganizationResponse.Configure(modelBuilder); Donation.Configure(modelBuilder); Bank.Configure(modelBuilder); AutoImportIntervals.Configure(modelBuilder); }
public static bool IsBannedUser(string alias) { if (alias == null) { throw new ArgumentNullException("alias"); } try { alias = alias.Trim().ToLower(); if (string.IsNullOrEmpty(alias)) { return(false); // Don't ban for blank inputs } string BannedUsersFileName = StringUtils.PathCombine(ProcessUtils.StartupPath, "config", "banned-users.txt"); if (File.Exists(BannedUsersFileName)) { string[] BannedUsers = FileUtils.FileReadAllLines(BannedUsersFileName); foreach (string BannedUser in BannedUsers) { if (BannedUser.StartsWith(";")) { continue; } if (BannedUser.Trim().ToLower() == alias) { return(true); } } } } catch (Exception ex) { RMLog.Exception(ex, "Unable to validate alias against banned-users.txt"); } // If we get here, it's an OK name return(false); }
public static void BanUser(long discordId = 0, long osuId = 0, long guildId = 0, string reason = null) { using DBContext c = new DBContext(); List <BannedUser> bans = GetBansForUser(discordId, osuId, guildId); if (bans.Count == 0) { c.BannedUser.Add(new BannedUser(osuId, discordId, guildId, reason)); c.SaveChanges(); return; } BannedUser user = bans.FirstOrDefault(u => (discordId > 0 ? discordId == u.DiscordUserId : true) && (osuId > 0 ? osuId == u.OsuUserId : true) && (guildId > 0 ? guildId == u.DiscordGuildId : true)); if (user != null) { return; } c.BannedUser.Add(new BannedUser(discordId, osuId, guildId, reason)); c.SaveChanges(); }
/// <summary> /// Bans user /// </summary> /// <param name="user">User to ban</param> /// <returns>Banned User</returns> public void BanUser(BannedUser user) { context.BannedUsers.Add(user); }
public async Task EndBanroulette() { var banroulette = BanrouletteDb.GetBanroulette(Context.Channel.Id); if (banroulette == null) { await Context.Channel.SendMessageAsync(":x: There is no running Ban Roulette in this channel."); return; } var userIds = BanrouletteDb.GetParticipants(banroulette); if (userIds.Count < banroulette.MinParticipants) { await Context.Channel.SendMessageAsync($"Not enough participants! {userIds.Count}/{banroulette.MinParticipants}"); return; } var users = BasicUtil.UserList(Context.Client, userIds); var user = users[new Random().Next(users.Count)]; var ban = new BannedUser { Active = true, ServerId = Context.Guild.Id, UserId = user.Id, DateBanStart = DateTime.UtcNow, DateBanEnd = DateTime.UtcNow.AddHours(banroulette.BanLengthHours) }; string msg = $"{user.Mention} won! Bai baaaaaai! See you in {banroulette.BanLengthHours} hours!\n\n"; users.Remove(user); if (users.Count > 0 && banroulette.RewardPool > 0) { int prize = banroulette.RewardPool / users.Count; msg += $"Prize pool of {banroulette.RewardPool} ({prize} each) split between: "; foreach (var x in users) { await BalanceDb.AddToasties(x.Id, prize, Context.Guild.Id); msg += x.Mention + " "; } } await Context.Channel.SendMessageAsync(msg); await user.SendMessageAsync($"You won the ban roulette! You are banned from **{Context.Guild.Name}** for {banroulette.BanLengthHours} hours! Bai baaaai!"); await BanrouletteDb.EndBanroulette(banroulette.Id); if (banroulette.BanLengthHours > 0) { await BanDb.AddBan(ban); try { await Context.Guild.AddBanAsync(user, 0, $"Banroulette {banroulette.Id}, {banroulette.BanLengthHours} hours."); } catch { } { await Context.Channel.SendMessageAsync($"I couldn't ban {user}, they are too powerful. *Wipes off blood.* This usually means that their role is higher than mine."); } } }