public void ReturnGame(int gameId, int daysLimit) { var gettingGameInfo = GameInfos.Find(gameInfo => gameInfo.Game.Id == gameId); if (gettingGameInfo == null) { throw new InvalidOperationException(); } if ((gettingGameInfo.Date - DateTime.Now).Days > daysLimit) { throw new InvalidOperationException(); } if (gettingGameInfo.Payer.Id != Id) { gettingGameInfo.Payer.Balance += gettingGameInfo.Game.Price; } else { Balance += gettingGameInfo.Game.Price; } GameInfos.Remove(gettingGameInfo); }