public Session GetSession(string login, string password) { Player playerOverview = null; try { playerOverview = daoPlayer.Get(login); } catch (Exception e) { // Exception caugth from persistenceManager, technical raison, not buiness var toRethrow = new InvalidCredentialException(e.Message); throw toRethrow; } // No result found if (playerOverview == null) { throw new InvalidCredentialException(InvalidCredentialEnum.NoLoginFound); } // Invalid Password if (playerOverview.Password !=password) { throw new InvalidCredentialException(InvalidCredentialEnum.BadPassword); } var session = new Session { PlayerInBattle = new PlayerInBattle { Battle = null, Player = playerOverview }, Id = Guid.NewGuid().ToString(), MaxValidity = DateTime.UtcNow.AddHours(numberOfHourBeforeTimeOut) }; Add(session); return session; }
private void Add(Session session) { lock (internalLock) { this.allSessions.Add(session.Id, session); } }
public Session GetSession(Session otherSession, int gameId) { var gameOverview = this.daoGame.GetParticipation(otherSession.PlayerInBattle.Player, gameId); if (gameOverview == null) { throw new InvalidCredentialException(InvalidCredentialEnum.PlayerNotInvolvedInGame); } var session = new Session { PlayerInBattle = gameOverview, Id = Guid.NewGuid().ToString(), MaxValidity = DateTime.UtcNow.AddHours(numberOfHourBeforeTimeOut) }; Add(session); return session; }