コード例 #1
0
        public static List <Punishment> DeserializePun(this string json)
        {
            JsonTextReader    reader    = new JsonTextReader(new StringReader(json));
            List <Punishment> Punisment = new List <Punishment>();

            reader.Read();
            reader.Read();
            while (reader.Read())
            {
                if (reader.Value != null)
                {
                    IPAddress ip = IPAddress.Parse(reader.ReadAsString());
                    reader.Read();
                    RevokedPerms revoked = (RevokedPerms)reader.ReadAsInt32();
                    reader.Read();
                    bool tempban = (bool)reader.ReadAsBoolean();
                    reader.Read();
                    DateTime start = DateTime.Parse(reader.ReadAsString());
                    reader.Read();
                    DateTime end = DateTime.Parse(reader.ReadAsString());
                    reader.Read();

                    Punisment.Add(new Punishment(ip, revoked, tempban, start, end));
                }
            }
            return(Punisment);
        }
コード例 #2
0
 public Punishment(IPAddress clientAddress, RevokedPerms revokedPerms, bool isTempBan, DateTime startDate, DateTime endDate) : this()
 {
     ClientAddress = clientAddress;
     RevokedPerms  = revokedPerms;
     IsTempBan     = isTempBan;
     StartDate     = startDate;
     EndDate       = endDate;
 }
コード例 #3
0
        public Punishment(IPAddress clientAddress, RevokedPerms revokedPerms, int duration = -1) : this()
        {
            ClientAddress = clientAddress;
            RevokedPerms  = revokedPerms;

            if (duration < 0)
            {
                IsTempBan = false;
                StartDate = DateTime.Now;
                EndDate   = DateTime.Now;
            }
            else
            {
                IsTempBan = true;
                StartDate = DateTime.UtcNow;
                EndDate   = StartDate.AddHours(duration);
            }
        }