/// <summary> /// Reverts the page /// </summary> /// <param name="sender">The button the fired the event.</param> /// <param name="e">Info about the event.</param> private async void RevertButton_Click(object sender, RoutedEventArgs e) { var saveDialog = new SaveChangesDialog() { Title = $"Save changes to Invoice # {ViewModel.InvoiceNumber.ToString()}?", Message = $"Invoice # {ViewModel.InvoiceNumber.ToString()} " + "has unsaved changes that will be lost. Do you want to save your changes?" }; await saveDialog.ShowAsync(); SaveChangesDialogResult result = saveDialog.Result; switch (result) { case SaveChangesDialogResult.Save: await ViewModel.SaveOrder(); ViewModel = await OrderDetailPageViewModel.CreateFromGuid(ViewModel.Id); break; case SaveChangesDialogResult.DontSave: ViewModel = await OrderDetailPageViewModel.CreateFromGuid(ViewModel.Id); break; case SaveChangesDialogResult.Cancel: break; } }
/// <summary> /// Loads the specified order, a cached order, or creates a new order. /// </summary> /// <param name="e">Info about the event.</param> protected override void OnNavigatedTo(NavigationEventArgs e) { // Determine whether a valid order was provided. var order = e.Parameter as Order; if (order != null) { ViewModel = new OrderDetailPageViewModel(order); } else { // If order is null, check to see whether a customer was provided. var customer = e.Parameter as Customer; if (customer != null) { // Create a new order for the specified customer. ViewModel = new ViewModels.OrderDetailPageViewModel(new Order(customer)); } // If no order or customer was provided, // check to see if we have a cached order. // If we don't, create a blank new order. else if (ViewModel == null) { ViewModel = new OrderDetailPageViewModel(new Order()); } } base.OnNavigatedTo(e); }
/// <summary> /// Reloads the order. /// </summary> /// <param name="sender">The button the fired the event.</param> /// <param name="e">Info about the event.</param> private async void RefreshButton_Click(object sender, RoutedEventArgs e) => ViewModel = await OrderDetailPageViewModel.CreateFromGuid(ViewModel.Id);