Esempio n. 1
0
        internal AsyncJob <PurchaseResponseCallback> RedeemKey(string key)
        {
            if (string.IsNullOrEmpty(key) || !Client.IsConnected)
            {
                return(null);
            }

            var request = new ClientMsgProtobuf <CMsgClientRegisterKey>(EMsg.ClientRegisterKey);

            request.SourceJobID = Client.GetNextJobID();
            request.Body.key    = key;

            Client.Send(request);
            return(new AsyncJob <PurchaseResponseCallback>(Client, request.SourceJobID));
        }
Esempio n. 2
0
        internal async Task <PurchaseResponseCallback> RedeemKey(string key)
        {
            if (string.IsNullOrEmpty(key) || !Client.IsConnected)
            {
                return(null);
            }

            var request = new ClientMsgProtobuf <CMsgClientRegisterKey>(EMsg.ClientRegisterKey)
            {
                SourceJobID = Client.GetNextJobID()
            };

            request.Body.key = key;

            Client.Send(request);
            try {
                return(await new AsyncJob <PurchaseResponseCallback>(Client, request.SourceJobID));
            } catch (Exception e) {
                Logging.LogGenericException(e);
                return(null);
            }
        }
Esempio n. 3
0
        internal async Task <PurchaseResponseCallback> RedeemKey(string key)
        {
            if (string.IsNullOrEmpty(key))
            {
                ArchiLogger.LogNullError(nameof(key));

                return(null);
            }

            if (Client == null)
            {
                ArchiLogger.LogNullError(nameof(Client));

                return(null);
            }

            if (!Client.IsConnected)
            {
                return(null);
            }

            ClientMsgProtobuf <CMsgClientRegisterKey> request = new ClientMsgProtobuf <CMsgClientRegisterKey>(EMsg.ClientRegisterKey)
            {
                SourceJobID = Client.GetNextJobID(),
                Body        = { key = key }
            };

            Client.Send(request);

            try {
                return(await new AsyncJob <PurchaseResponseCallback>(Client, request.SourceJobID).ToLongRunningTask().ConfigureAwait(false));
            } catch (Exception e) {
                ArchiLogger.LogGenericException(e);

                return(null);
            }
        }
Esempio n. 4
0
        internal async Task <RedeemGuestPassResponseCallback> RedeemGuestPass(ulong guestPassID)
        {
            if (guestPassID == 0)
            {
                ArchiLogger.LogNullError(nameof(guestPassID));

                return(null);
            }

            if (Client == null)
            {
                ArchiLogger.LogNullError(nameof(Client));

                return(null);
            }

            if (!Client.IsConnected)
            {
                return(null);
            }

            ClientMsgProtobuf <CMsgClientRedeemGuestPass> request = new ClientMsgProtobuf <CMsgClientRedeemGuestPass>(EMsg.ClientRedeemGuestPass)
            {
                SourceJobID = Client.GetNextJobID(),
                Body        = { guest_pass_id = guestPassID }
            };

            Client.Send(request);

            try {
                return(await new AsyncJob <RedeemGuestPassResponseCallback>(Client, request.SourceJobID).ToLongRunningTask().ConfigureAwait(false));
            } catch (Exception e) {
                ArchiLogger.LogGenericException(e);

                return(null);
            }
        }