public UserExerciseGroupsPage () { _viewModel = new UserExerciseGroupViewModel (); InitializeComponent (); this.BindingContext = _viewModel; listView.ItemTemplate = new DataTemplate (typeof(CustomViewUserExerciseGroup)); listView.ItemTemplate.SetBinding (CustomViewUserExerciseGroup.UserExerciseGroupViewModelProperty, "."); listView.ItemSelected += (sender, args) => { if (args.SelectedItem != null) { listView.SelectedItem = null; UserExerciseGroupViewModel userExerciseGroupViewModel = (UserExerciseGroupViewModel)args.SelectedItem; ExistingMemberReviewPageViewModel memberReviewPageViewModel = new ExistingMemberReviewPageViewModel(userExerciseGroupViewModel.SelectedUser.ProfileID, userExerciseGroupViewModel.ID); this.Navigation.PushAsync (new ExistingMemberReviewPage (memberReviewPageViewModel)); } }; }
private async void ExecutePrintCommand (UserExerciseGroupViewModel userExerciseGroup) { if (IsBusy) return; IsBusy = true; if (CrossConnectivity.Current.IsConnected) { var print = DependencyService.Get<IPrinter> (); //TODO: need to pass url returned from API WorkoutLogDTO workoutLog = new WorkoutLogDTO (); workoutLog.GymID = App.WorkoutCreatorContext.StaffMember.GymID; workoutLog.ProfileID = SelectedUser.ProfileID; workoutLog.UserWorkoutGroupID = userExerciseGroup.ServerID; var workoutLogResponse = await CoachServices.CreateWorkoutPDF (workoutLog); print.PrintPage ("Member Workout", workoutLogResponse); } else { DependencyService.Get<ICustomDialog> ().Display ("There was a problem creating your workout. Please try again.", "OK"); } IsBusy = false; }
public async Task LoadUserExerciseGroupViewModelList() { Device.BeginInvokeOnMainThread(() => { IsBusy = true; }); this.UserExerciseGroupViewModelList.Clear(); List<UserExerciseGroup> userExerciseGroupViewModelRegularList = new List<UserExerciseGroup>(); userExerciseGroupViewModelRegularList = await UserExerciseGroupDAL.GetExerciseGroupsByProfileIDNotDeleted(SelectedUser.ProfileID); int count = 1; foreach (UserExerciseGroup userExerciseGroup in userExerciseGroupViewModelRegularList) { UserExerciseGroupViewModel userExerciseGroupViewModel = new UserExerciseGroupViewModel(userExerciseGroup); //Group count is used in the member profile context userExerciseGroupViewModel.GroupCount = count; userExerciseGroupViewModel.SelectedUser = this.SelectedUser; //Retrieve exercise count used in the member profile context var exerciseGroupMappings = await UserWorkoutTemplateMappingDAL.GetMappingsByLocalExerciseGroupID(userExerciseGroup.Id); userExerciseGroupViewModel.ExerciseCount = exerciseGroupMappings.Count(); this.UserExerciseGroupViewModelList.Add(userExerciseGroupViewModel); count++; } Device.BeginInvokeOnMainThread(() => { IsBusy = false; }); }
private async void ExecuteMemberWorkoutExerciseSet (UserExerciseGroupViewModel userExerciseGroupViewModel) { if (IsBusy) return; IsBusy = true; Insights.Track ("Clicked to go to page to view/modify a member's userexercisesgroup from 'UserExerciseGroupsPage'", new Dictionary<string, string> () { { "group name", ExerciseGroupName }, { "group id", ID.ToString () } }); if (SelectedUser != null) { await Application.Current.MainPage.Navigation.PushAsync (new WorkoutReviewPage (SelectedUser.ProfileID, userExerciseGroupViewModel.ID)); } else { await Application.Current.MainPage.Navigation.PushAsync (new WorkoutReviewPage (UserExerciseGroup.ProfileID, userExerciseGroupViewModel.ID)); } IsBusy = false; }