/// <summary> /// Handles the OnItemClick event of the ExercisesListView control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="ItemClickEventArgs" /> instance containing the event data.</param> private async void ExercisesListView_OnItemClick(object sender, ItemClickEventArgs e) { var result = await ViewExerciseContentDialog.ShowAsync(); if (result != ContentDialogResult.Primary) { return; } var selectedExercise = (Exercise)ExercisesListView.SelectedItem; if (selectedExercise == null) { return; } var copyExercise = new Model.Task { Title = selectedExercise.Title, Description = selectedExercise.Description, DueDate = selectedExercise.DueDate, DueTime = selectedExercise.DueTime, Users = new List <User> { Users.Instance.SessionUser }, TaskStatus = Model.Task.Status.Added }; await AddTask(copyExercise, NotificationCheckBox.IsChecked != null && NotificationCheckBox.IsChecked.Value); Users.Instance.Changed = true; }
/// <summary> /// Deletes the exercise. /// </summary> private async void DeleteExercise() { ViewExerciseContentDialog.Hide(); var result = await DeleteExerciseContentDialog.ShowAsync(); var selectedExercise = (Exercise)ExercisesListView.SelectedItem; if (result != ContentDialogResult.Primary) { return; } if (selectedExercise == null) { return; } try { if (!await Tasks.Instance.DeleteTask(selectedExercise)) { await new MessageDialog("Failed to delete exercise", "Error").ShowAsync(); } } catch (Exception e) { await e.Display("Failed to delete exercise."); await e.Log(); } CourseExercises.Remove(selectedExercise); var selectedCourse = (Course)CoursesListView.SelectedItem; selectedCourse?.Exercises.Remove(selectedExercise); }
/// <summary> /// Edits the exercise. /// </summary> private async void EditExercise() { ViewExerciseContentDialog.Hide(); var selectedExercise = (Exercise)ExercisesListView.SelectedItem; EditExerciseContentDialog.DataContext = selectedExercise; var result = await EditExerciseContentDialog.ShowAsync(); if (result != ContentDialogResult.Primary) { return; } try { await Tasks.Instance.UpdateTask(selectedExercise); } catch (Exception ex) { await ex.Display("Failed to edit exercise."); await ex.Log(); } }