public static string ToJson(TombstoneState tombstoneState) { var sb = new StringBuilder(); var serializer = new JsonSerializer(); serializer.Serialize(new JsonTextWriter(new StringWriter(sb)), tombstoneState); return sb.ToString(); }
public void SetState(TombstoneState state) { if (LoadingState != TaskLoadingState.Ready) { // If we're not in a state where we can safely load the state, // wait until we are and then run this method again. _loadingStateObserver .Where(e => e.EventArgs.LoadingState == TaskLoadingState.Ready) .Take(1) .Subscribe(e => SetState(state)); return; } if (!string.IsNullOrEmpty(state.SelectedTaskDraft)) { SelectedTaskDraft = new Task(state.SelectedTaskDraft); } if (!string.IsNullOrEmpty(state.SelectedTask)) { var selectedTask = TaskList.FirstOrDefault(t => t.ToString() == state.SelectedTask); if (selectedTask != null) { SelectedTask = selectedTask; } } }
public static string ToJson(TombstoneState tombstoneState) { var sb = new StringBuilder(); var serializer = new JsonSerializer(); serializer.Serialize(new JsonTextWriter(new StringWriter(sb)), tombstoneState); return(sb.ToString()); }
// Code to execute when the application is deactivated (sent to background) // This code will not execute when the application is closing private void Application_Deactivated(object sender, DeactivatedEventArgs e) { UpdateBindingOnFocusedTextBox(); var viewModel = ((ViewModelLocator) Current.Resources["Locator"]).Main; if (viewModel != null) { var selectedTask = string.Empty; if (viewModel.SelectedTask != null) { selectedTask = viewModel.SelectedTask.ToString(); } var draft = string.Empty; if (viewModel.SelectedTaskDraft != null) { draft = viewModel.SelectedTaskDraft.ToString(); } var state = new TombstoneState(selectedTask, draft); if (PhoneApplicationService.Current.State.ContainsKey(StateKey)) { PhoneApplicationService.Current.State[StateKey] = TombstoneState.ToJson(state); } else { PhoneApplicationService.Current.State.Add(StateKey, TombstoneState.ToJson(state)); } } }