Ejemplo n.º 1
0
        public Exercise Save(Exercise exercise)
        {
            var savingEntity = exercise.Clone() as Exercise;

            HandleForeignKey(() => savingEntity.TeacherLesson, tl => savingEntity.TeacherLesson = tl);
            HandleForeignKey(() => savingEntity.SchoolClass, c => savingEntity.SchoolClass      = c);

            return(SaveEntityAndUpdate(savingEntity));
        }
        private async void OpenEditExerciseDialogAsync(Exercise exercise)
        {
            var exerciseClone = exercise.Clone();

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

            dialog.Data.Exercise          = ExerciseViewModel.FromModel(exerciseClone);
            dialog.Data.SubmitButtonTitle = "Save";
            dialog.Data.DialogTitle       = "Modified exercise";

            var dialogResult = await dialog.Show();

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

            exerciseClone = dialog.Data.Exercise.ToModel();
            Exercises.Replace(exercise, exerciseClone);
            _exerciseRepository.Update(exerciseClone);
        }