public static async Task <EditTrainingExerciseViewModelResult> ShowAsync(TrainingExercise trainingExercise, BaseViewModel parent = null)
        {
            var viewModel = new EditTrainingExerciseViewModel();

            viewModel._trainingExercise = trainingExercise;
            var result = await ShowModalViewModelAsync(viewModel, parent);

            var editTrainingExerciseViewModelResult = new EditTrainingExerciseViewModelResult();

            editTrainingExerciseViewModelResult.Result = result;
            return(editTrainingExerciseViewModelResult);
        }
Пример #2
0
        private async Task EditActionAsync(BindingTrainingExercise bindingTrainingExercise)
        {
            if (bindingTrainingExercise == null || bindingTrainingExercise.TrainingExercise == null)
            {
                return;
            }

            try
            {
                var trainingExercise = bindingTrainingExercise.TrainingExercise;
                var editTrainingExerciseViewModelResult = await EditTrainingExerciseViewModel.ShowAsync(trainingExercise, this);

                if (editTrainingExerciseViewModelResult != null && editTrainingExerciseViewModelResult.Result)
                {
                    var trainingDayKey = new TrainingDayKey()
                    {
                        UserId        = trainingExercise.UserId,
                        Year          = trainingExercise.Year,
                        WeekOfYear    = trainingExercise.WeekOfYear,
                        DayOfWeek     = trainingExercise.DayOfWeek,
                        TrainingDayId = trainingExercise.TrainingDayId
                    };
                    var trainingDay = _trainingDays.Where(t => TrainingDayKey.IsEqualByKey(t, trainingDayKey)).FirstOrDefault();
                    if (trainingDay != null)
                    {
                        var indexOfTrainingDay = _trainingDays.IndexOf(trainingDay);
                        //Reload local data
                        var trainingDayScenario = new TrainingDayScenario()
                        {
                            ManageExercise = true
                        };
                        trainingDay = _trainingDayService.GetTrainingDay(trainingDayKey, trainingDayScenario);
                        //Update trainingDay in list
                        _trainingDays[indexOfTrainingDay] = trainingDay;
                        //Update UI
                        CreateOrReplaceBindingTrainingDay(trainingDay);
                    }
                }
            }
            catch (Exception except)
            {
                ILogger.Instance.Error("Unable to edit training exercise set", except);
                await _userDialog.AlertAsync(except.Message, Translation.Get(TRS.ERROR), Translation.Get(TRS.OK));
            }
        }