示例#1
0
文件: Bans.cs 项目: SupaFresh/Server
 public static Enums.BanType IsBanned(DatabaseConnection dbConnection, Enums.BanMethod banMethod, string value)
 {
     IDataColumn[] columns     = RetrieveField(dbConnection, "UnbanDate", banMethod, value);
     IDataColumn[] dataColumns = RetrieveField(dbConnection, "BanType", banMethod, value);
     if (columns != null)
     {
         string unbanDate = (string)columns[0].Value;
         if (unbanDate == "-----")
         {
             // It's a permanent ban.
             return((Enums.BanType)((int)dataColumns[0].Value));
         }
         else
         {
             // It's a temp ban
             DateTime dtUnbanDate = DateTime.Parse(unbanDate);
             if (DateTime.Now > dtUnbanDate)
             {
                 RemoveBan(dbConnection, banMethod, value);
                 return(Enums.BanType.None);
             }
             else
             {
                 return((Enums.BanType)((int)dataColumns[0].Value));
             }
         }
     }
     else
     {
         // columns was null, which means their entry was not found
         return(Enums.BanType.None);
     }
 }
示例#2
0
文件: Bans.cs 项目: SupaFresh/Server
        private static string SelectColumnForBanMethod(Enums.BanMethod banMethod)
        {
            switch (banMethod)
            {
            case Enums.BanMethod.PlayerIP:
                return("BannedPlayerIP");

            case Enums.BanMethod.PlayerMAC:
                return("BannedPlayerMac");

            case Enums.BanMethod.PlayerID:
                return("BannedPlayerID");

            default:
                throw new NotSupportedException();
            }
        }
示例#3
0
文件: Bans.cs 项目: SupaFresh/Server
        private static IDataColumn[] RetrieveField(DatabaseConnection dbConnection, string fieldToRetrieve, Enums.BanMethod banMethod, string valueToSearch)
        {
            var column = SelectColumnForBanMethod(banMethod);

            IDataColumn[] columns = dbConnection.Database.RetrieveRow("bans", fieldToRetrieve, column + "=\"" + valueToSearch + "\"");
            if (columns != null)
            {
                return(columns);
            }
            else
            {
                return(null);
            }
        }
示例#4
0
文件: Bans.cs 项目: SupaFresh/Server
        public static void RemoveBan(DatabaseConnection dbConnection, Enums.BanMethod banMethod, string value)
        {
            var column = SelectColumnForBanMethod(banMethod);

            dbConnection.Database.DeleteRow("bans", $"{column} = @Value", new { Value = value });
        }