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 }); }
private async Task <bool> CheckBanDate(PlayerBans result) { if (result.EndBanDate == DateTime.Now.Date) { result.IsActive = false; var dbResult = _context.PlayerBans.Update(result); if (dbResult.State == EntityState.Modified) { await _context.SaveChangesAsync(); return(true); } } return(false); }