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