Ejemplo n.º 1
0
        public long requestBalance(string sessionId)
        {
            context.RegisterSessionActivity(sessionId);

            var userInfo = context.getUserInfo(sessionId);

            if (userInfo == null)
            {
                return(-2);
            }

            context.Game.Log($"Requesting balance (sessionID: {sessionId}, account: {userInfo.AccountId}, seamless: {userInfo.Seamless}, userId: {userInfo.UserId}, accessPointId: {userInfo.AccessPointId})");

            Task.Factory.StartNew(s =>
            {
                var info = (UserInfo)s;

                context.Game.Log($"Refreshing balance (sessionID: {info.sessionId}, account: {info.AccountId}, userId: {info.UserId}, seamless: {info.Seamless}, balance: {info.Balance})");

                info.RefreshBalance();

                return(s);
            }, userInfo)
            .ContinueWith(t =>
            {
                var info = (UserInfo)t.Result;

                context.Game.Log($"Balance refreshed (sessionID: {info.sessionId}, account: {info.AccountId}, userId: {info.UserId}, seamless: {info.Seamless}, balance: {info.Balance})");

                SendBalanceChanged(info.sessionId, info.Balance, info.totalLoss);
            });

            return(0);
        }