public override void OnNavigatedFrom(Dictionary <string, object> viewModelState, bool suspending) { base.OnNavigatedFrom(viewModelState, suspending); if (viewModelState != null) { AddEntityStateValue("stateErrorsCollection", SelectedState.GetAllErrors(), viewModelState); } }
// When Update button is pressed private async void OnUpdateState() { string errorMessage = string.Empty; bool isCreating = false; SelectedState.ValidateProperties(); var updateErrors = SelectedState.GetAllErrors().Values.SelectMany(pc => pc).ToList(); if (updateErrors.Count == 0) { try { LoadingData = true; if (SelectedState.Id == 0) { isCreating = true; CrudResult = await _stateRepository.CreateStateAsync(SelectedState); SelectedState = JsonConvert.DeserializeObject <List <State> >(CrudResult.Content.ToString()).FirstOrDefault <State>(); } else { CrudResult = await _stateRepository.UpdateStateAsync(SelectedState); } } catch (ModelValidationException mvex) { // there were server-side validation errors DisplayStateErrorMessages(mvex.ValidationResult); } catch (HttpRequestException ex) { ErrorMessageTitle = isCreating ? ErrorMessagesHelper.CreateAsyncFailedError : ErrorMessagesHelper.UpdateAsyncFailedError; ErrorMessage = ex.Message; } finally { LoadingData = false; RunAllCanExecute(); } if (ErrorMessage != null && ErrorMessage != string.Empty) { MessageDialog messageDialog = new MessageDialog(ErrorMessage, ErrorMessageTitle); await messageDialog.ShowAsync(); _navService.GoBack(); } } else { RunAllCanExecute(); } }