public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) { if (reader.Value == null) { return(null); } string json = reader.Value.ToString(); VaultedCard result = JsonUtils.Deserialize <VaultedCard>(json, new JsonConverter[] { }); // reference for line items return(result); }
public override void doVaultCard(int?CardEntryMethods) { BackgroundWorker bw = new BackgroundWorker(); // what to do in the background thread bw.DoWork += new DoWorkEventHandler( delegate(object o, DoWorkEventArgs args) { notifyObserversUiState(new UiStateMessage(UiState.PROCESSING, "Processing...", UiDirection.ENTER, new InputOption[0])); Console.WriteLine("Received UiStateMessage: PROCESSING Processing... Enter"); Thread.Sleep(3000); notifyObserversUiState(new UiStateMessage(UiState.PROCESSING, "Processing...", UiDirection.EXIT, new InputOption[0])); Console.WriteLine("Received UiStateMessage: PROCESSING Processing... Exit"); notifyObserversUiState(new UiStateMessage(UiState.START, "Customer is choosing payment.", UiDirection.ENTER, new InputOption[0])); Console.WriteLine("Received UiStateMessage: START Customer is choosing payment... Enter"); Thread.Sleep(1000); notifyObserversUiState(new UiStateMessage(UiState.START, "Customer is choosing payment.", UiDirection.EXIT, new InputOption[0])); Console.WriteLine("Received UiStateMessage: START Customer is choosing payment... Exit"); notifyObserversUiState(new UiStateMessage(UiState.PROCESSING, "Processing...", UiDirection.ENTER, new InputOption[0])); Console.WriteLine("Received UiStateMessage: PROCESSING Processing... Enter"); Thread.Sleep(3000); notifyObserversUiState(new UiStateMessage(UiState.PROCESSING, "Processing...", UiDirection.EXIT, new InputOption[0])); Console.WriteLine("Received UiStateMessage: PROCESSING Processing... Exit"); VaultCardResponseMessage vcrm = new VaultCardResponseMessage(); VaultedCard card = new VaultedCard(); card.cardholderName = "EMULATOR DISCOVER CARD"; card.first6 = "123456"; card.expirationDate = "1218"; card.last4 = "4321"; card.token = "1234567890123456"; vcrm.card = card; notifyObserversCardVaulted(vcrm); Console.WriteLine("Received VaultCardResponse Message: " + JsonUtils.serialize(vcrm)); }); bw.RunWorkerAsync(); }