Пример #1
0
        private DateTime GetBanExpiryDate(DateTime beginingDate, BanDuration duration)
        {
            switch (duration)
            {
            case BanDuration.Hour:
            {
                return(beginingDate.AddHours(1));
            }

            case BanDuration.Day:
            {
                return(beginingDate.AddDays(1));
            }

            case BanDuration.Week:
            {
                return(beginingDate.AddDays(7));
            }

            case BanDuration.Month:
            {
                return(beginingDate.AddMonths(1));
            }

            case BanDuration.Permanent:
            {
                return(DateTime.MaxValue);
            }

            default:
            {
                return(beginingDate);
            }
            }
        }
Пример #2
0
 public static string GetValue(this BanDuration banDuration)
 {
     return(banDuration switch
     {
         BanDuration.Hour => "RWUAM_BAN_USER_HOUR",
         BanDuration.Day => "RWUAM_BAN_USER_DAY",
         BanDuration.Permanent => "RWUAM_BAN_USER_PERM",
         _ => throw new Exception($"Unknown ban duration: {banDuration}.")
     });
Пример #3
0
        public static void AddBan(IUser client, BanDuration duration)
        {
            if (list.Find(x => x.IP.Equals(client.ExternalIP) || x.Guid.Equals(client.Guid)) == null)
            {
                list.Add(new Item
                {
                    Guid     = client.Guid,
                    IP       = client.ExternalIP,
                    Time     = Server.Time,
                    Duration = duration,
                    Name     = client.Name
                });

                Save();
            }
        }
Пример #4
0
        public void BanUser(string userName, BanDuration duration)
        {
            User user = UnitOfWork.Users.SingleOrDefault(u => u.UserName == userName);

            if (user == null)
            {
                user = UnitOfWork.Users.SingleOrDefaultDeleted(u => u.UserName == userName);
                if (user == null)
                {
                    throw new EntityNotFoundException(typeof(User));
                }
            }

            user.BanExpiryDate = GetBanExpiryDate(user.BanExpiryDate > DateTime.UtcNow ? user.BanExpiryDate : DateTime.UtcNow, duration);

            UnitOfWork.Users.Update(user);
            UnitOfWork.Save();
        }
Пример #5
0
        public IActionResult Ban(Guid commentId, BanDuration banDuration)
        {
            _commentService.Ban(commentId, banDuration);

            return(RedirectToAction(nameof(Index), "Game"));
        }
Пример #6
0
 public void Ban(Guid commentId, BanDuration duration)
 {
     // We don’t have users for now, so make empty service methods and test it.
 }