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); }
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)); } }