public static TSignableRequest Import <TSignableRequest>(string exportedRequest) where TSignableRequest : SignableRequest { var jsonModel = Encoding.UTF8.GetString(Convert.FromBase64String(exportedRequest)); var model = JsonSerializer.Deserialize <SignedRequestModel>(jsonModel); SignableRequest request = null; if (typeof(TSignableRequest) == typeof(CreateCardRequest)) { request = new CreateCardRequest(); } if (typeof(TSignableRequest) == typeof(RevokeCardRequest)) { request = new RevokeCardRequest(); } if (request == null) { throw new NotSupportedException(); } request.RestoreRequest(model.ContentSnapshot, model.Meta.Signatures); return((TSignableRequest)request); }
public async Task <Card> CreateCardAsync(CreateCardRequest request) { var postRequest = Request.Create(RequestMethod.Post) .WithEndpoint("/v4/card") .WithBody(request.GetRequestModel()); var response = await this.CardsConnection.Send(postRequest).ConfigureAwait(false); var card = ResponseToCard(response.Parse <SignedResponseModel>()); if (this.cardValidator != null) { this.ValidateCards(new [] { card }); } return(card); }