コード例 #1
0
        private async void OpenAddMuscleDialogAsync()
        {
            var exercisedMuscle = new ExercisedMuscle
            {
                RelativeEngagement = 100d
            };

            var dialog = _dialogs.For <AddExercisedMuscleDialogViewModel>(DialogsIdentifier);

            dialog.Data.DialogTitle       = "Add a muscle";
            dialog.Data.SubmitButtonTitle = "Select";
            dialog.Data.AvailableMuscles  = _availableMuscles.Where(IsMuscleAvailable);
            dialog.Data.ExercisedMuscle   = ExercisedMuscleViewModel.FromModel(exercisedMuscle);

            var dialogResult = await dialog.Show();

            if (dialogResult != DialogResult.Ok)
            {
                return;
            }

            exercisedMuscle = dialog.Data.ExercisedMuscle.ToModel();

            Exercise.Muscles.Add(exercisedMuscle);
            Exercise.Muscles.Refresh(exercisedMuscle);
            OpenAddMuscleDialogCommand.RaiseCanExecuteChanged();
        }
コード例 #2
0
        private async void OpenEditMuscleDialogAsync(ExercisedMuscle exercisedMuscle)
        {
            var exercisedMuscleClone = exercisedMuscle.Clone();

            var dialog = _dialogs.For <EditExercisedMuscleDialogViewModel>(DialogsIdentifier);

            dialog.Data.DialogTitle       = "Edit exercised muscle";
            dialog.Data.SubmitButtonTitle = "Save";
            dialog.Data.ExercisedMuscle   = ExercisedMuscleViewModel.FromModel(exercisedMuscleClone);

            var dialogResult = await dialog.Show();

            if (dialogResult != DialogResult.Ok)
            {
                return;
            }

            exercisedMuscleClone = dialog.Data.ExercisedMuscle.ToModel();
            Exercise.Muscles.Replace(exercisedMuscle, exercisedMuscleClone);
        }
コード例 #3
0
        private void DeleteMuscle(ExercisedMuscle muscle)
        {
            Exercise.Muscles.RemoveByReference(muscle);

            OpenAddMuscleDialogCommand.RaiseCanExecuteChanged();
        }