コード例 #1
0
ファイル: App.xaml.cs プロジェクト: todibbang/HowlOutApp
        public App ()
		{
            InitializeComponent();


			//Eventsfired from the LoginPage to trigger actions here
			LoginPage.FacebookLoginSucceeded += LoginPage_LoginSucceeded;
            LoginPage.LoginCancelled += LoginPage_LoginCancelled;
			LoginPage.HowlOutLoginAttempted += SetHowlOutLogin;

            //This loads a user token if existent, or else it will load "null" 
            StoredToken = DependencyService.Get<HowlOut.App.ISaveAndLoad>().LoadText("token");
			StoredUserFacebookId = DependencyService.Get<HowlOut.App.ISaveAndLoad> ().LoadText ("userFacebookId");
			StoredApiKey = DependencyService.Get<HowlOut.App.ISaveAndLoad>().LoadText("StoredApiKey");

			System.Diagnostics.Debug.WriteLine ("STORED FACEBOOK ID");
			System.Diagnostics.Debug.WriteLine (StoredUserFacebookId);
            
			_dataManager = new DataManager();
			_dataManager.UtilityManager.updateLastKnownPosition ();

            if (!App.IsLoggedIn)
            {
				MainPage = new SignIn();
            }
            else
            {
				//CrossLocalNotifications.Current.Show ("Notifications works!!", "Nice",99,DateTime.Now.AddSeconds(30));
				coreView = new CoreView();
				MainPage = coreView;
				startProgram(coreView);
            }
		}
コード例 #2
0
		public FilterSearch(SearchSettings userSearchSettings)
		{
			InitializeComponent();

			try
			{

				newSearchSettings = userSearchSettings;
				_dataManager = new DataManager();

				if (newSearchSettings != null)
				{


					distance.Minimum = 0;
					distance.Maximum = 1000;
					distance.Value = (int)newSearchSettings.Distance;
					distanceLabel.Text = "Distance " + ((int)distance.Value) + " km";

					distance.ValueChanged += (sender, e) =>
					{
						distanceLabel.Text = "Distance " + ((int)distance.Value + " km");
						newSearchSettings.Distance = distance.Value;
					};
					EventCategory.ManageCategories(eventTypeGrid, newSearchSettings.EventTypes, false);

					updateButton.Clicked += (sender, e) =>
					{
						UpdateSearch();
					};
				}
			}
			catch (Exception e) { }
		}
コード例 #3
0
		public YourNotifications()
		{
			InitializeComponent();
			_dataManager = new DataManager();
			UpdateNotifications(true);

			updateList.ItemSelected += OnListItemSelected;
			updateList.Refreshing += async (sender, e) => { await UpdateLists(); };
		}
コード例 #4
0
		void setUp()
		{
			_dataManager = new DataManager();
			if (currentView == 0) exploreSettings.IsVisible = true;
			UpdateList( true, "");
			searchEventList.ItemSelected += OnItemSelected;
			searchEventList.IsPullToRefreshEnabled = true;
			searchEventList.Refreshing += (sender, e) => { UpdateList(true, ""); };
			exploreSettings.Clicked += (sender, e) =>
			{
				if (App.userProfile != null && App.userProfile.SearchPreference != null)
					App.coreView.setContentViewWithQueue(new FilterSearch(App.userProfile.SearchPreference));
			};
		}
コード例 #5
0
ファイル: CoreView.xaml.cs プロジェクト: todibbang/HowlOutApp
		public CoreView ()
		{
			InitializeComponent ();
			_dataManager = new DataManager ();
			topBar = new UpperBar();
			topBarLayout.Children.Add (topBar);
			topBar.hideAll();

 			notiScroll.Scrolled += (sender, e) =>
			{
				System.Diagnostics.Debug.WriteLine(notiScroll.ScrollY);
				if (notiScroll.ScrollY > 5 && !hideNotiLayout)
				{
					notiScroll.ScrollToAsync(0, 1000, true);
					if (!hideNotiLayout) HideNotiLayout();
					hideNotiLayout = true;
				}
			};
		}
コード例 #6
0
		public YourConversations(ConversationModelType type, string id, int clt)
		{
			InitializeComponent();
			_dataManager = new DataManager();
			modelType = type;
			modelId = id;
			conversationListType = clt;
			UpdateConversations(true);

			updateList.ItemSelected += OnListItemSelected;
			updateList.Refreshing += async (sender, e) => { await UpdateConversations(true); };
			if (conversationListType != 2)
			{
				CreateButton(type, id);
			}
			else {
				createNewConversation.IsVisible = false;
			}

			createNewConversation.Clicked += (sender, e) =>
			{
				App.coreView.setContentViewWithQueue(new InviteListView(new Conversation() { ModelId = modelId, ModelType = modelType }, true));
			};
		}
コード例 #7
0
		public InspectEvent (Event eve, bool inspectType, ScrollView scrollView)
		{
			InitializeComponent ();
			efl = new EventForLists(eve);
			BindingContext = efl;
			_dataManager = new DataManager();
			setInfo (eve);
			/*
			if (_dataManager.IsEventJoined(eve) || _dataManager.IsEventYours(eve))  { 	
				//trackImg.IsVisible = false; 
				inviteImg.IsVisible = true; } 
			else  { 
				//trackImg.IsVisible = true; 
				inviteImg.IsVisible = false; 
			} */


			mapBtn.Clicked += (sender, e) =>
			{
				mapGrid.IsVisible = !mapGrid.IsVisible;
			};

			/*
			detailsButton.Clicked += (sender, e) => 
			{
				if(detailedInfo.IsVisible == false) { 
					detailedInfo.IsVisible = true; 
					quickInfo.IsVisible = false;
					detailsButton.Text = "Hide Map";
					App.coreView.otherFunctions.scrollTo(100);
				} 
				else { 
					detailedInfo.IsVisible = false; 
					quickInfo.IsVisible = true;
					detailsButton.Text = "Show Map";
					App.coreView.otherFunctions.scrollTo(200);
				}

				if(mapInitialized != true) { 
					mapInitialized = true;
					_dataManager.UtilityManager.setMapForEvent (new Position(eve.Latitude, eve.Longitude), map, mapLayout);
					_dataManager.UtilityManager.setPin(new Position(eve.Latitude, eve.Longitude), map, eve.Title, eve.AddressName);
				}
			}; */

			scrollView.Scrolled += (sender, e) =>
			{
				


				if (scrollView.ScrollY > 0)
				{
					bannerElement.TranslationY = Math.Abs(scrollView.ScrollY) / 3.0;
				}
				else {
					bannerElement.Scale = 1 + (Math.Abs(scrollView.ScrollY) / 100.0);
					//if (bannerElement.Scale > 2) bannerElement.Scale = 2;
					bannerElement.TranslationY = scrollView.ScrollY;
					bannerElementBackground.TranslationY = scrollView.ScrollY;
					//titleInfo.TranslationY = scrollView.ScrollY;
				}


				if (scrollView.ScrollY < 100 && scrollView.ScrollY > 0)
				{
					//titleInfo.TranslationY = scrollView.ScrollY;
				}
			};
				
			mapButton.Clicked += (sender, e) => {
				App.coreView.setContentViewWithQueue(new MapsView(eve));
			};

			//JoinLeaveButton.IsVisible = false;
			//editImg.IsVisible = true;

			/*
			if (eve.Attendees.Exists(p => p.ProfileId == App.StoredUserFacebookId) || eve.ProfileOwners.Exists(p => p.ProfileId == App.StoredUserFacebookId))
			{
				JoinLeaveButton.IsVisible = false;
			}
			else {
				JoinLeaveButton.Clicked += (sender, e) =>
				{
					_dataManager.AttendTrackEvent(eve, true, true);
				};
			} */

			if (!_dataManager.IsEventJoined(eve))
			{
				JoinLeaveButton.Clicked += (sender, e) =>
				{
					_dataManager.AttendTrackEvent(eve, true, true);
				};
			}
			else {
				JoinLeaveButton.IsVisible = false;
			}

			if (App.userProfile.EventsInviteToAsOwner.Exists(e => e.EventId == eve.EventId))
			{
				AcceptOwnerButton.IsVisible = true;
				DeclineOwnerButton.IsVisible = true;
				AcceptOwnerButton.Clicked += (sender, e) =>
				{
					_dataManager.EventApiManager.AcceptDeclineLeaveEventAsOwner(eve.EventId, OwnerHandlingType.Accept);
				};
				DeclineOwnerButton.Clicked += (sender, e) =>
				{
					_dataManager.EventApiManager.AcceptDeclineLeaveEventAsOwner(eve.EventId, OwnerHandlingType.Decline);
				};
			}


			BannerImage.Clicked += (sender, e) =>
			{
				OtherFunctions of = new OtherFunctions();
				of.ViewImages(new List<string>() { eve.ImageSource });
			};
			/*
			if (eve.Followers.Exists(p => p.ProfileId == App.StoredUserFacebookId))
			{
				trackImg.Foreground = App.HowlOut;
			}

			TapGestureRecognizer tgr = new TapGestureRecognizer();
			tgr.Tapped += (sender, e) =>
			{
				App.coreView.DisplayShare(eve);
			};
			shareImg.GestureRecognizers.Add(tgr);

			tgr = new TapGestureRecognizer();
			tgr.Tapped += async (sender, e) =>
			{
				bool success = false;
				if (eve.Followers.Exists(p => p.ProfileId == App.StoredUserFacebookId))
				{
					success = await _dataManager.AttendTrackEvent(eve, false, false);
					if (success)
					{
						trackImg.Foreground = App.HowlOutFade;
					}
				}
				else {
					success = await _dataManager.AttendTrackEvent(eve, true, false);
					if (success)
					{
						trackImg.Foreground = App.HowlOut;
					}
				}
			};
			trackImg.GestureRecognizers.Add(tgr);

			tgr = new TapGestureRecognizer();
			tgr.Tapped += (sender, e) =>
			{
				App.coreView.setContentViewWithQueue(new CreateEvent(eve, false));
			};
			editImg.GestureRecognizers.Add(tgr);

			tgr = new TapGestureRecognizer();
			tgr.Tapped += (sender, e) =>
			{
				App.coreView.setContentViewWithQueue(new InviteListView(eve));
			};
			inviteImg.GestureRecognizers.Add(tgr);
			*/
			if (mapInitialized != true)
			{
				mapInitialized = true;
				_dataManager.UtilityManager.setMapForEvent(new Position(eve.Latitude, eve.Longitude), map, mapLayout);
				_dataManager.UtilityManager.setPin(new Position(eve.Latitude, eve.Longitude), map, eve.Title, eve.AddressName);
			}

			TapGestureRecognizer tgr = new TapGestureRecognizer();
			tgr.Tapped += (sender, e) =>
			{
				App.coreView.setContentViewWithQueue(new ListsAndButtons(eve.ProfileOwners, null, false, false));
			};
			ownerImg.GestureRecognizers.Add(tgr);

			groupOwnerBtn.Clicked += (sender, e) =>
			{
				App.coreView.GoToSelectedGroup(eve.GroupOwner.GroupId);
			};
		}
コード例 #8
0
		public GenericDesignView(int dimentions)
		{
			_dataManager = new DataManager();
			InitializeComponent();
			ScaleLayout(dimentions);
		}
コード例 #9
0
		public CreateGroup (Group group, bool isCreate)
		{
			_dataManager = new DataManager ();
			InitializeComponent ();
			newGroup = group;
			if (isCreate) {
				cancelButton.IsVisible = false;
				newGroup.GroupId = "0";
			}
			else {
				setEditEvent();
			}

			title.TextChanged += (sender, e) => { newGroup.Name = title.Text; };
			description.TextChanged += (sender, e) => { newGroup.Description = description.Text; };

			// Here's the visibility of the group selected
			visibilityPicker.SelectedIndexChanged += (sender, e) =>
			{
				if (visibilityPicker.SelectedIndex == 0) { newGroup.Visibility = GroupVisibility.Public; }
				if (visibilityPicker.SelectedIndex == 1) { newGroup.Visibility = GroupVisibility.Closed; }
				if (visibilityPicker.SelectedIndex == 2) { newGroup.Visibility = GroupVisibility.Private; }
				visibilityString.Text = visibilityPicker.Items[visibilityPicker.SelectedIndex];
			};
			visibilityString.Text = visibilityPicker.Title;

			var pictureImage = new TapGestureRecognizer();
			pictureImage.Tapped += async (sender, e) =>
			{
				try
				{
					imageStreams = await _dataManager.UtilityManager.PictureFromAlbum(SelectedBannerImage.Source);
				}
				catch (Exception ex) { }
			};
			takePictureButton.GestureRecognizers.Add(pictureImage);

			var albumImage = new TapGestureRecognizer();
			albumImage.Tapped += async (SenderOfEvent, e) =>
			{
				try
				{
					imageStreams = await _dataManager.UtilityManager.PictureFromAlbum(SelectedBannerImage.Source);
				}
				catch (Exception ex) { }
			};
			albumPictureButton.GestureRecognizers.Add(albumImage);

			selectBannerButton.Clicked += (sender, e) => {
				SelectBannerView selectBannerView = new SelectBannerView();
				selectBannerView.createGroupView = this;
				App.coreView.setContentViewWithQueue(selectBannerView);
			};



			launchButton.Clicked += (sender, e) => {
				if (isCreate && !Launching)
				{
					LaunchGroup(newGroup);
					Launching = true;
				}
				else if (!isCreate && !Launching)
				{
					LaunchGroup(newGroup);
				}
			};

			cancelButton.Clicked += (sender, e) => {
				DeleteGroup(group);
			};
		}
コード例 #10
0
ファイル: App.xaml.cs プロジェクト: todibbang/HowlOutApp
		private async void LoginPage_LoginSucceeded(object sender, EventArgs e)
        {

           // await storeToken();

			var success = false;
			int tries = 0;

			while (!success)
			{

				Profile profile = new Profile() { ProfileId = StoredUserFacebookId, Name = StoredUserFacebookName, Age = 0, 
					SmallImageSource = "https://graph.facebook.com/v2.5/" + StoredUserFacebookId + "/picture?height=500&width=50",
					ImageSource = "https://graph.facebook.com/v2.5/" + StoredUserFacebookId + "/picture?height=100&width=100",
					LargeImageSource = "https://graph.facebook.com/v2.5/" + StoredUserFacebookId + "/picture?height=300&width=300"
				};
				success = await _dataManager.ProfileApiManager.CreateUpdateProfile(profile, true);

			}
			_dataManager = new DataManager();
			success = false;
			while (!success)
			{
				success = await _dataManager.ProfileApiManager.RegisterForNotifications(StoredNotificationToken);
				tries++;
				if (tries > 5) break;
			}


			coreView = new CoreView();
			coreView.token = StoredNotificationToken.DeviceToken + ", " + success;
			MainPage = coreView;
			startProgram(coreView);
			/*
			coreView = new CoreView();
			MainPage = coreView;
			coreView.setContentView (null, "SearchEvent");
			*/
        }
コード例 #11
0
		//Image banner = new Image();

		public CreateEvent(Event givenEvent, bool isCreate)
		{
			_dataManager = new DataManager();
			InitializeComponent();
			setCreateView(givenEvent, isCreate);
		}
コード例 #12
0
		public BottomBar ()
		{
			InitializeComponent ();
			_dataManager = new DataManager ();

			//MeButtonLayout.Children.Add(standardButton.StandardButtonGrid (StandardButton.StandardButtonType.Transparent, "", 0));
			EventButtonLayout.Children.Add(standardButton.StandardButtonGrid (StandardButton.StandardButtonType.Transparent, "", 0));


			var createImage = new TapGestureRecognizer();
			createImage.Tapped += async (sender, e) =>
			{
				App.coreView.setContentView(0);
				await create.ScaleTo(0.7, 50, Easing.Linear);
				await Task.Delay(60);
				await create.ScaleTo(1, 50, Easing.Linear);
				unselectAll();
				create.Foreground = App.HowlOut;
			};
			create.GestureRecognizers.Add(createImage);

			var manageImage = new TapGestureRecognizer();
			manageImage.Tapped += async (sender, e) => 
			{
				App.coreView.setContentView(1);
				await manage.ScaleTo(0.7, 50, Easing.Linear);
				await Task.Delay(60);
				await manage.ScaleTo(1, 50, Easing.Linear);
				unselectAll();
				manage.Foreground = App.HowlOut;
			};
			manage.GestureRecognizers.Add(manageImage);  

			explore.Clicked += async (sender, e) => 
			{
				App.coreView.setContentView(2);
				await exploreImg.ScaleTo(0.7, 50, Easing.Linear);
				await Task.Delay(60);
				await exploreImg.ScaleTo(1, 50, Easing.Linear);
				unselectAll();
				exploreBG.BackgroundColor = App.HowlOut;
			};

			var friendsImage = new TapGestureRecognizer();
			friendsImage.Tapped += async (sender, e) =>
			{
				App.coreView.setContentView(3);
				await howls.ScaleTo(0.7, 50, Easing.Linear);
				await Task.Delay(60);
				await howls.ScaleTo(1, 50, Easing.Linear);
				unselectAll();
				howls.Foreground = App.HowlOut;
			};
			howls.GestureRecognizers.Add(friendsImage);

			var socialImage = new TapGestureRecognizer();
			socialImage.Tapped += async (sender, e) =>
			{
				App.coreView.setContentView(4);
				//App.coreView.homeView.updateLists();
				await me.ScaleTo(0.7, 50, Easing.Linear);
				await Task.Delay(60);
				await me.ScaleTo(1, 50, Easing.Linear);
				unselectAll();
				me.Foreground = App.HowlOut;
			};
			me.GestureRecognizers.Add(socialImage);
		}