Exemple #1
0
        public async Task <BanPlayerResponseModel> BanPlayer(BanPlayerRequestModel model)
        {
            var response = new BanPlayerResponseModel()
            {
                IsActiveBan = false, PlayerNotFound = false
            };

            var banEntity = await _context.PlayerBans.FirstOrDefaultAsync(t => t.PlayerId == model.PlayerId && t.IsActive);

            if (banEntity != null && banEntity.IsActive)
            {
                return new BanPlayerResponseModel()
                       {
                           IsActiveBan = true, PlayerNotFound = false, IsSuccess = false
                       }
            }
            ;

            var userEntity = _userService.GetPlayerById(model.PlayerId);

            if (userEntity == null)
            {
                return new BanPlayerResponseModel()
                       {
                           IsActiveBan = false, PlayerNotFound = true, IsSuccess = false
                       }
            }
            ;

            PlayerBans playerBans = new PlayerBans()
            {
                PlayerId     = model.PlayerId,
                BanReason    = (byte)model.BanReason,
                BanMessage   = model.BanMessage,
                BeginBanDate = DateTime.Now,
                EndBanDate   = model.EndBanDate,
                IsActive     = true
            };

            var result = await _context.PlayerBans.AddAsync(playerBans);

            if (result.State == EntityState.Added)
            {
                await _context.SaveChangesAsync();

                return(new BanPlayerResponseModel()
                {
                    IsActiveBan = false, PlayerNotFound = false, IsSuccess = true
                });
            }

            return(new BanPlayerResponseModel()
            {
                IsActiveBan = false, PlayerNotFound = false, IsSuccess = false
            });
        }
 public async Task <BanPlayerResponseModel> BanPlayer(BanPlayerRequestModel model)
 {
     return(await _banService.BanPlayer(model));
 }