/// <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);
            }
        }