public WorkoutReviewPage(int profileID, int localUserGroupID)
		{
			InitializeComponent();
			ViewModel = new ExistingMemberReviewPageViewModel(profileID, localUserGroupID);
			this.BindingContext = ViewModel;

			listView.ItemSelected += (sender, args) =>
			{
				if (ViewModel.IsBusy == true)
				{
					return;
				}
				if (args.SelectedItem != null)
				{
					listView.SelectedItem = null;
					MemberExerciseViewModel exercise = (MemberExerciseViewModel)args.SelectedItem;

					//Uses session tracking
					Insights.Track("Clicked to review/edit member exercise", new Dictionary<string, string>() {
						{ "exercise", exercise.Exercise.Exercisename },
						{ "exercise id", exercise.Exercise.ExerciseID.ToString () }
					});
					ViewModel.AddedPageOrModalToNav = true;
					this.Navigation.PushAsync(new MemberExercisePage(exercise, true), true);
				}
			};

			listView.ItemTapped += (object sender, ItemTappedEventArgs e) =>
			{
				((ListView)sender).SelectedItem = null; // de-select the row
			};
		}
		public ExistingMemberReviewPage (int profileID, int localUserGroupID)
		{
			this.Title = "Review Member Exercises";
			ViewModel = new ExistingMemberReviewPageViewModel (profileID, localUserGroupID);

		


				
			var listView = new ListView(ListViewCachingStrategy.RetainElement);
			listView.ItemsSource = ViewModel.SimpleExerciseCollection;
			listView.VerticalOptions = LayoutOptions.FillAndExpand;

			listView.ItemTemplate = new DataTemplate (typeof(CustomMemberExerciseImageCell));	
			listView.ItemTemplate.SetBinding (ImageCell.TextProperty, "Identity");
			listView.ItemTemplate.SetBinding (ImageCell.ImageSourceProperty, "ImageSource");
			listView.RowHeight = Device.OnPlatform<int>(100,80,80);

			listView.ItemSelected += (sender, args) => {
				if (args.SelectedItem != null) {
					listView.SelectedItem = null;
					MemberExerciseViewModel exercise = (MemberExerciseViewModel)args.SelectedItem;

					//Uses session tracking
					Insights.Track ("Clicked to review/edit member exercise", new Dictionary<string, string> () {
						{ "exercise", exercise.Exercise.Exercisename },
						{ "exercise id", exercise.Exercise.ExerciseID.ToString () }
					});
					this.Navigation.PushAsync (new MemberExercisePage (exercise, true), true);
				}
			};

		
			

			//Add menu item to add an exercise
			ToolbarItem addExerciseTemplateItem = new ToolbarItem {
				Text = "Add Exercise",
				Icon = Device.OnPlatform ("new.png", "ic_action_new", "Images/new.png"),
				Order = ToolbarItemOrder.Primary
			};

			addExerciseTemplateItem.Clicked += async (sender, args) => {
				//Uses session tracking
				Insights.Track ("Clicked add exercise button in 'ExistingMemberReviewPage'", new Dictionary<string, string> () {
				});
				await this.Navigation.PushAsync (new AddExerciseContainerPage ());
			};
			this.ToolbarItems.Add (addExerciseTemplateItem);
			this.Content = listView;

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

		}
		//Commenting from source merge
		public CustomViewCellMemberTemplate ()
		{

			var memberNameLabel = new Label {
				FontSize = 20,
				FontAttributes = FontAttributes.None,
				TextColor = (Color)Application.Current.Resources ["blueColor"]
			};

			var phoneNumberLabel = new Label {
				FontAttributes = FontAttributes.None,
				TextColor = (Color)Application.Current.Resources ["lightBlueColor"],
				FontSize = 20
			};

			var templateNameLabel = new Label {
				FontAttributes = FontAttributes.None,
				TextColor = (Color)Application.Current.Resources ["lightBlueColor"],
				FontSize = 23
			};



			var reviewButton = new Button {
				Style = (Style)Application.Current.Resources ["reviewButtonStyleSmall"],
				VerticalOptions = LayoutOptions.Center

			};

		

			reviewButton.Clicked += (sender, args) => {
				//Uses session tracking
				Insights.Track ("Clicked to view member exercises", new Dictionary<string, string> () {
					{ "template", this.SimpleTemplate.TemplateName },
					{ "template id", this.SimpleTemplate.LocalUserExerciseGroupID.ToString () },
					{ "member profile id", this.SimpleTemplate.ProfileID.ToString () }

				});
				ExistingMemberReviewPageViewModel existingMemberPageViewModel = new ExistingMemberReviewPageViewModel (this.SimpleTemplate.ProfileID, this.SimpleTemplate.LocalUserExerciseGroupID);

				this.ParentView.Navigation.PushAsync (new UserExerciseGroupsPage (existingMemberPageViewModel));

			};
 
			memberNameLabel.SetBinding (Label.TextProperty, "MemberName");
			phoneNumberLabel.SetBinding (Label.TextProperty, "MemberPhoneNumber");
			templateNameLabel.SetBinding (Label.TextProperty, "TemplateName");

			var horizontalStackLayout = new StackLayout {
				Orientation = StackOrientation.Horizontal,
				Padding = new Thickness (0, 0, 10, 0)
			};

			var namePhoneNumberStack = new StackLayout {
				Orientation = StackOrientation.Horizontal,
				Children = { memberNameLabel, phoneNumberLabel }
			};

			var s = new StackLayout ();

			s.Children.Add (namePhoneNumberStack);
			s.Children.Add (templateNameLabel);
			s.Orientation = StackOrientation.Vertical;
			s.HorizontalOptions = LayoutOptions.StartAndExpand;
			s.VerticalOptions = LayoutOptions.CenterAndExpand;

			horizontalStackLayout.Children.Add (s);
			horizontalStackLayout.Children.Add (reviewButton);
			this.View = horizontalStackLayout;
           
		}