/// <summary> /// Implementación de Contrato para iniciar sesion al sistema /// </summary> /// <param name="player"></param> /// <exception> /// Este metodo puede retornar una excepcion tipo AddressAlreadyInUseEsception /// </exception> public void Login(Jugador player) { LoginResult result; AdminDataManager adminDataManager = new AdminDataManager(); if (adminDataManager.CheckNickname(player.Apodo)) { if (adminDataManager.EsPasswordCorrecto(player.Contrasenia, player.Apodo)) { try { result = LoginResult.EsAdmin; playersLoggedIn.Add(player.Apodo, PlayerCallback); } catch (AddressAlreadyInUseException) { result = LoginResult.LOGGED_PLAYER; } PlayerCallback.GetAdminLoginResult(result, player); } else { result = LoginResult.PasswordIncorrecto; PlayerCallback.GetAdminLoginResult(result, player); } } else { LoginPlayer(player); } }