//Command to fetch next message - made public to support unit testing public async Task DoFetchNextMessageCommand() { NetworkOutcome = await DataModel.NextSaying(); if (NetworkOutcome.success == false) { await MainPageViewHelper.ShowErrorMessageAsync(NetworkOutcome.ErrorString); } }
//Event handler for all changes on the model private void OnPropertyChanged(object sender, PropertyChangedEventArgs e) { if (e.PropertyName.Equals(nameof(DataModel.SayingNumber))) { PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(SayingNumber))); } else if (e.PropertyName.Equals(nameof(DataModel.HasData))) { PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(HasNoData))); } else if (e.PropertyName.Equals(nameof(DataModel.CurrentSaying))) { PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(CurrentSaying))); } else if (e.PropertyName.Equals(nameof(DataModel.IsRequestingFromNetwork))) { PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(IsRequestingFromNetwork))); MainPageViewHelper.ChangeCanExecute(FetchNextSayingCommand); } }