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;

		}
Esempio n. 3
0
		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;

		}