private async void ReportProblem_Tapped(object sender, EventArgs e) { var result = await UserDialogs.Instance.PromptAsync(new PromptConfig { Title = "Report a Problem", Message = "Add an explanation", OkText = "Submit", CancelText = "Cancel", MaxLength = 255, InputType = InputType.Default }); String problem = result.Value; Debug.WriteLine(result); if (result.Ok && problem.Length < 255) { //Objec bug klaarmaken om te versturen Bug bug = new Bug(); bug.UserId = GlobalVariables.user.UserId; bug.Date = DateTime.Now; bug.BugText = problem; //Schrijven naar database en foto in blob zetten await ImaniManager.AddBugAsync(bug); await DisplayAlert("Succes", "Thank you for your feedback!", "Ok"); } else if (result.Ok == false) { } else { await DisplayAlert("Error", "There went something wrong", "OK"); } }
private async void RegisterUser(User user) { User user_controle = await ImaniManager.AddUserAsync(user); if (user_controle.Email != "NOK") { SendPicToBlob(profilepic, user.UserId); await DisplayAlert("Succes", "You are successfully registered!", "OK"); Application.Current.MainPage = new LoginPage(); } else if (imgProfilePic.Source == null) { await DisplayAlert("Attention!", "Don't be shy, take a picture", "OK"); frameLayer.IsVisible = false; indicatorLoader.IsRunning = false; } else if (user_controle.Email == "NOK") { await DisplayAlert("Attention!", "This email already exsists!", "OK"); frameLayer.IsVisible = false; indicatorLoader.IsRunning = false; } else { await DisplayAlert("Attention!", "Something went wrong!", "OK"); frameLayer.IsVisible = false; indicatorLoader.IsRunning = false; } }
private async Task btnSaveChanges_Clicked(object sender, EventArgs e) { var result = await UserDialogs.Instance.PromptAsync(new PromptConfig { Title = "Confirm", Message = "To confirm changes, please enter your old password!", OkText = "Ok", CancelText = "Cancel", InputType = InputType.Password, }); var EnteredPassword = result.Value; if (result.Ok) { try { User user_try = new User(); user_try.UserId = GlobalVariables.user.UserId; user_try.Password = EnteredPassword; var response = await ImaniManager.CHeckPswAsync(user_try); if (response == "NOK") { await DisplayAlert("Attention!", "The password does not match!", "Ok"); } else if (response == "OK") { user_try.Email = txtEmail.Text; user_try.Name = txtName.Text; if (txtNewPass.Text != null) { user_try.Password = txtNewPass.Text; } else { user_try.Password = EnteredPassword; } await ImaniManager.UpdateUserAsync(user_try); GlobalVariables.user.Name = txtName.Text; await DisplayAlert("Succes!", "Succefully saved!", "Ok"); } } catch { await DisplayAlert("Alert!", "Something went wrong!", "Ok"); } Application.Current.MainPage = new SettingsPage(); } }
//BIJ KLIKKEN OP DELETE ACCOUNT private async void btnDeleteAccount_Clicked(object sender, EventArgs e) { //Na het succesvol verwijderen terug naar de login pagina gaan (LAAT DIT STAAN, DIT IS AL IN ORDE): var resultaat = await UserDialogs.Instance.ConfirmAsync(new ConfirmConfig { OkText = "Ok", CancelText = "Cancel", Message = "Are you sure you would like to delete your account? You will lose all your data!", Title = "Alert!", }); if (resultaat) { var result = await UserDialogs.Instance.PromptAsync(new PromptConfig { Title = "Confirm", Message = "To DELETE your account, please enter your password!", OkText = "Ok", CancelText = "Cancel", InputType = InputType.Password, }); var EnteredPassword = result.Value; try { User user_try = new User(); user_try.UserId = GlobalVariables.user.UserId; user_try.Password = EnteredPassword; var response = await ImaniManager.CHeckPswAsync(user_try); if (response == "NOK") { await DisplayAlert("Attention!", "The password does not match!", "Ok"); } else if (response == "OK") { await ImaniManager.DeleteUserAsync(GlobalVariables.user.UserId.ToString()); await DisplayAlert("Succes!", "Succefully deleted your account! We are now navigating to the login page", "Ok"); GlobalVariables.displayedScreen = "Dashboard"; Application.Current.MainPage = new LoginPage(); } } catch { await DisplayAlert("Alert!", "Something went wrong!", "Ok"); } } }
private async void GetColleaguesAsync() { List <User> users = await ImaniManager.GetFollowersAsync(GlobalVariables.user.UserId.ToString()); if (users.Count() == 0) { lvwColleagues.IsVisible = false; StackNoFriends.IsVisible = true; } else { lvwColleagues.ItemsSource = users; lvwColleaguesDelete.ItemsSource = users; } }
private async void TapGestureRecognizer_Tapped(object sender, EventArgs e) { Image t = (sender) as Image; User GeselecteerdeGebruiker = t.BindingContext as User; try { await ImaniManager.UnfollowUserAsync(GlobalVariables.user.UserId.ToString().ToUpper(), GeselecteerdeGebruiker.UserId.ToString().ToUpper()); await DisplayAlert("Succes!", "Colleague successfully unfollowed!", "Ok"); } catch { await DisplayAlert("Alert!", "Something went wrong!", "Ok"); } Application.Current.MainPage = new ColleaguesPage(); }
private async Task Switch_Toggled(object sender, ToggledEventArgs e) { if (toggleNotifications.IsToggled == true) { await DisplayAlert("Notifications enabled", "You will recieve a notification if you haven't stood for almost an hour", "OK"); await ImaniManager.UpdateNotification(GlobalVariables.user.UserId.ToString(), "true"); GlobalVariables.user.WantsNotifications = true; } else if (toggleNotifications.IsToggled == false) { await DisplayAlert("Notifications disabled", "You will no longer recieve standing notifications", "OK"); await ImaniManager.UpdateNotification(GlobalVariables.user.UserId.ToString(), "false"); GlobalVariables.user.WantsNotifications = false; } }
private async void loop() { bool previousResult = false; try { while (true) { if (GlobalVariables.connection == true) { //Specifieke GuiD van de SERVICE (nodig) service = await GlobalVariables.device.GetServiceAsync(Guid.Parse("6E400001-B5A3-F393-E0A9-E50E24DCCA9E")); //Specifieke GuiD van de characteristic NOTIFY characteristic = await service.GetCharacteristicAsync(Guid.Parse("6E400003-B5A3-F393-E0A9-E50E24DCCA9E")); //De waarden van die characteristic Updaten en vervolgens in een variabele plaatsen genaamd "bytes" characteristic.ValueUpdated += (o, args) => { //var bytes = args.Characteristic.Value; }; await characteristic.StartUpdatesAsync(); //de bytes opvangen in een variabele var bytes = characteristic.Value; //Bytes omzetten naar een string GlobalVariables.result = System.Text.Encoding.UTF8.GetString(bytes, 0, bytes.Length); var date = DateTime.Now; //Boolean voor 1 of 0 Boolean isStanding = false; if (GlobalVariables.result == "1.00") { isStanding = true; } //Als er verandering is in de waarde dan verstuurd hij deze naar de database if (previousResult != isStanding) { Track track = new Track(); track.UserId = GlobalVariables.user.UserId; track.Date = DateTime.Now.AddHours(1); track.isStanding = isStanding; track.MacDevice = GlobalVariables.device.Name; await ImaniManager.AddTrack(track); previousResult = isStanding; } await Task.Delay(5000); } else if (GlobalVariables.connection == false) { await Task.Delay(1000); } } } catch (Exception) { await MainPage.DisplayAlert("Disconnected", "You are no longer connected with your shoe", "Ok"); CrossLocalNotifications.Current.Show("Connection lost", "You are no longer connected with your shoe"); GlobalVariables.connection = false; } }
private async void GetTimestandingDayAsync() { #region Object lijst opvullen DateTime datenow = DateTime.Now; List <TimeStandingDay> list_timestandingday = new List <TimeStandingDay>(); //Datum van vandaag klaarmaken om te versturen int date_last_hour = 0; int zitminuten = 60; int stauur = 1; DateTime datefirst = new DateTime(datenow.Year, datenow.Month, datenow.Day, 9, 0, 0); //Lijst ophalen van vandaag per uur if (datenow.Hour >= 9 && datenow.Hour < 17) // enkel de data tot en met het vorige uur worden weergegeven --> deze worden in een lijst gestoken { date_last_hour = datenow.Hour; DateTime datelast = new DateTime(datenow.Year, datenow.Month, datenow.Day, 17, 0, 0); list_timestandingday = await ImaniManager.GetTimeStandingDayAsync(requestedUser.UserId.ToString(), datefirst, datelast); int teVerwijderenIndex = date_last_hour - 9; if (list_timestandingday.Count == 0) { zitminuten = 0; stauur = 0; } else { for (int i = date_last_hour; i < 17; i++) { list_timestandingday.RemoveAt(teVerwijderenIndex); TimeStandingDay emptyTime = new TimeStandingDay { Hour = i, TimeStandingSeconds = 0 }; list_timestandingday.Add(emptyTime); } } } else if (datenow.Hour >= 17) // hele dag wordt uitgevoerd { date_last_hour = 17; DateTime datelast = new DateTime(datenow.Year, datenow.Month, datenow.Day, date_last_hour, 0, 0); list_timestandingday = await ImaniManager.GetTimeStandingDayAsync(requestedUser.UserId.ToString(), datefirst, datelast); if (list_timestandingday.Count == 0) { list_timestandingday.Clear(); for (int i = 9; i < 17; i++) { TimeStandingDay emptyTime = new TimeStandingDay { Hour = i, TimeStandingSeconds = 0 }; list_timestandingday.Add(emptyTime); } zitminuten = 0; stauur = 0; } } else if (datenow.Hour < 9) //alles van vandaag zal nog op 0 staan, leeg zijn. { for (int i = 9; i < 17; i++) { TimeStandingDay emptyTime = new TimeStandingDay { Hour = i, TimeStandingSeconds = 0 }; list_timestandingday.Add(emptyTime); } zitminuten = 0; stauur = 0; } #endregion #region Grafieken opuvllen met waarden //Opvullen Staaf diagrammen ---------------------------- for (int x = 0; x <= list_timestandingday.Count - 1; x++) //de waarden klaarstomen om per staaf weer te geven { if (list_timestandingday[x].TimeStandingSeconds == 0 && list_timestandingday[x].Hour < datenow.Hour) { dagUren.Add(new Entry(1) { Color = SkiaSharp.SKColor.Parse("#cf6b00"), Label = list_timestandingday[x].Hour.ToString() }); } else { dagUren.Add(new Entry(Convert.ToInt64(list_timestandingday[x].TimeStandingSeconds / 60)) { Color = SkiaSharp.SKColor.Parse("#cf6b00"), Label = list_timestandingday[x].Hour.ToString() }); } } if (list_timestandingday.Count == 0) { for (int x = 9; x < 17; x++) { dagUren.Add(new Entry(0) { Color = SkiaSharp.SKColor.Parse("#cf6b00"), Label = x.ToString() }); } } ChartStavenUren.Chart = new BarChart { Entries = dagUren, MaxValue = 60, LabelTextSize = 32 }; //Opvullen cirkeldiagram ------------------------------- Double som_standing = 0; int totaalUur = 3600; for (int x = 0; x <= list_timestandingday.Count - 1; x++) { som_standing += list_timestandingday[x].TimeStandingSeconds; if (list_timestandingday[x].TimeStandingSeconds != 0) //als er een uur gepaseerd is wordt er 3600 bijgevoegd. { totaalUur += 3600; } } int ExtraTijd = 0; if (totaalUur > (datenow - datefirst).TotalSeconds)//bugfix { ExtraTijd = 1; } ChartsStaVsZit.Chart = new DonutChart { Entries = staZitDagEntry, MaxValue = totaalUur - 3600, LabelTextSize = 32, HoleRadius = 0.5F }; staZitDagEntry.Add(new Entry(Convert.ToInt32(som_standing)) { Color = SkiaSharp.SKColor.Parse("#cf6b00") }); staZitDagEntry.Add(new Entry(Convert.ToInt32(totaalUur - som_standing - (ExtraTijd * 3600))) { Color = SkiaSharp.SKColor.Parse("#F9ECDF") }); //Opvullen linkerdeel ---------------------------------- List <TimeStandingDay> list_standing = new List <TimeStandingDay>(); int punten = 0; for (int x = 0; x <= list_timestandingday.Count - 1; x++) { if (list_timestandingday[x].TimeStandingSeconds != 0) { punten += 1; } } urenEntry.Add(new Entry(punten) { Color = SkiaSharp.SKColor.Parse("#cf6b00") }); urenEntry.Add(new Entry(8 - punten) { Color = SkiaSharp.SKColor.Parse("#F7F7F7") }); txtStandingHours.Text = punten.ToString(); //Deze waarde is voor de tekstbox in de ring ChartCirkelUren.Chart = new DonutChart { Entries = urenEntry, MaxValue = 8, HoleRadius = 0.9F }; //Opvullen rechterdeel --------------------------------- for (int x = 0; x <= list_timestandingday.Count - 1; x++) { if (list_timestandingday[x].Hour < datenow.Hour) { list_standing.Add(list_timestandingday[x]); } } int standing = list_standing.Count; if (datenow.Hour > 9) { var som_standing_uur = Convert.ToInt32((som_standing / 3600)); var som_standing_min = Convert.ToInt32(som_standing / 60 % 60); lblUurStand.Text = (som_standing_uur).ToString() + "h " + som_standing_min.ToString() + "m"; if (zitminuten == 60) { standing += 1; zitminuten = 0; } if ((standing - som_standing_uur - ExtraTijd) > datenow.Hour - 9) { standing -= 1; } if (som_standing_min > zitminuten) { zitminuten += 60; ExtraTijd += 1; } lblUurZit.Text = Convert.ToString(standing - som_standing_uur - ExtraTijd) + "h " + Convert.ToString(zitminuten - som_standing_min) + "m"; } else { lblUurStand.Text = "0h 0m"; lblUurZit.Text = "0h 0m"; } #endregion }
private async void getData() { DateTime datefirst = new DateTime(datenow.Year, datenow.Month, firstDay, 9, 0, 0); DateTime datelast = new DateTime(datenow.Year, datenow.Month, firstDay, 17, 0, 0); DateTime datumTotUur = new DateTime(datenow.Year, datenow.Month, firstDay, datenow.Hour, 0, 0); if (vandaag > 0) //maandag { list_maandag = await ImaniManager.GetTimeStandingDayAsync(requestedUser.UserId.ToString(), datefirst, datelast); for (int i = 0; i < list_maandag.Count(); i++) { if (list_maandag[i].Hour < datenow.Hour || (1 < vandaag)) { standMinutesMon += Convert.ToInt16(list_maandag[i].TimeStandingSeconds); } } standMinutesMon = standMinutesMon / 60; //om naar minuten te gaan, kan ook in 1lijn bij de if hierboven maar zo worden er minder bewerkingen gedaan if (vandaag != 1) //de verlopen tijd wordt bijgehouden om de cirkeldiagram te kunnen opmaken { weekTimePassed += 480; } else { weekTimePassed = Convert.ToInt16((datumTotUur - datefirst).TotalMinutes); } } if (vandaag > 1) //dinsdag { DateTime newFirst = datefirst.AddDays(1); DateTime newLast = datelast.AddDays(1); DateTime newdatumTotUur = datumTotUur.AddDays(1); list_dinsdag = await ImaniManager.GetTimeStandingDayAsync(requestedUser.UserId.ToString(), newFirst, newLast); for (int i = 0; i < list_dinsdag.Count() - 1; i++) { if (list_dinsdag[i].Hour < datenow.Hour || (2 < vandaag)) { standMinutesTue += Convert.ToInt16(list_dinsdag[i].TimeStandingSeconds); } } standMinutesTue = standMinutesTue / 60; //om naar minuten te gaan if (vandaag != 2) { weekTimePassed += 480; } else { weekTimePassed += Convert.ToInt16((newdatumTotUur - newFirst).TotalMinutes); } } if (vandaag > 2) //woensdag { DateTime newFirst = datefirst.AddDays(2); DateTime newLast = datelast.AddDays(2); DateTime newdatumTotUur = datumTotUur.AddDays(2); list_woensdag = await ImaniManager.GetTimeStandingDayAsync(requestedUser.UserId.ToString(), newFirst, newLast); for (int i = 0; i < list_woensdag.Count() - 1; i++) { if (list_woensdag[i].Hour < datenow.Hour || (3 < vandaag)) { standMinutesWed += Convert.ToInt16(list_woensdag[i].TimeStandingSeconds); } } standMinutesWed = standMinutesWed / 60; //om naar minuten te gaan if (vandaag != 3) { weekTimePassed += 480; } else { weekTimePassed += Convert.ToInt16((newdatumTotUur - newFirst).TotalMinutes); } } if (vandaag > 3) //donderdag { DateTime newFirst = datefirst.AddDays(3); DateTime newLast = datelast.AddDays(3); DateTime newdatumTotUur = datumTotUur.AddDays(3); list_donderdag = await ImaniManager.GetTimeStandingDayAsync(requestedUser.UserId.ToString(), newFirst, newLast); for (int i = 0; i < list_donderdag.Count() - 1; i++) { if (list_donderdag[i].Hour < datenow.Hour || (4 < vandaag)) { standMinutesThu += Convert.ToInt16(list_donderdag[i].TimeStandingSeconds); } } standMinutesThu = standMinutesThu / 60; //om naar minuten te gaan if (vandaag != 4) { weekTimePassed += 480; } else { weekTimePassed += Convert.ToInt16((newdatumTotUur - newFirst).TotalMinutes); } } if (vandaag > 4) //vrijdag { DateTime newFirst = datefirst.AddDays(4); DateTime newLast = datelast.AddDays(4); DateTime newdatumTotUur = datumTotUur.AddDays(4); list_vrijdag = await ImaniManager.GetTimeStandingDayAsync(requestedUser.UserId.ToString(), newFirst, newLast); for (int i = 0; i < list_vrijdag.Count() - 1; i++) { if (list_donderdag[i].Hour < datenow.Hour || (5 < vandaag)) { standMinutesFri += Convert.ToInt16(list_vrijdag[i].TimeStandingSeconds); } } standMinutesFri = standMinutesFri / 60; //om naar minuten te gaan if (vandaag != 5) { weekTimePassed += 480; } else { weekTimePassed += Convert.ToInt16((newdatumTotUur - newFirst).TotalMinutes); } } #region DEZE WAARDEN MOETEN DUS AANGEPAST WORDEN //Donut chart --> 2400 minuts in a week int standMinutes = standMinutesMon + standMinutesTue + standMinutesWed + standMinutesThu + standMinutesFri; int sitMinutes = weekTimePassed - standMinutes; int StandHours = 0; //Waarden voor cirkel met 40 uur //het aantal uren dat gestaan werd optellen for (int i = 0; i < list_maandag.Count - 1; i++) { if ((list_maandag[i].TimeStandingSeconds != 0) && ((list_maandag[i].Hour < datenow.Hour) || (1 < vandaag))) { StandHours += 1; } } for (int i = 0; i < list_dinsdag.Count - 1; i++) { if (list_dinsdag[i].TimeStandingSeconds != 0 && ((list_dinsdag[i].Hour < datenow.Hour) || (2 < vandaag))) { StandHours += 1; } } for (int i = 0; i < list_woensdag.Count - 1; i++) { if (list_woensdag[i].TimeStandingSeconds != 0 && ((list_woensdag[i].Hour < datenow.Hour) || (3 < vandaag))) { StandHours += 1; } } for (int i = 0; i < list_donderdag.Count - 1; i++) { if (list_donderdag[i].TimeStandingSeconds != 0 && ((list_donderdag[i].Hour < datenow.Hour) || (4 < vandaag))) { StandHours += 1; } } for (int i = 0; i < list_vrijdag.Count - 1; i++) { if (list_vrijdag[i].TimeStandingSeconds != 0 && ((list_vrijdag[i].Hour < datenow.Hour) || (5 < vandaag))) { StandHours += 1; } } //Waarden voor Tekst (40 uren in week) string tekstUrenZit = sitMinutes.ToString(); //string teksUrenSta = standMinutes.ToString(); #endregion #region Waarden aan charts toewijzen (No need to change) //Donut chart staZitWeekEntry.Add(new Entry(standMinutes) { Color = SkiaSharp.SKColor.Parse("#cf6b00") }); staZitWeekEntry.Add(new Entry(sitMinutes) { Color = SkiaSharp.SKColor.Parse("#F9ECDF") }); //Staafdriagrammen WeekDagStaven.Add(new Entry(standMinutesMon) { Color = SkiaSharp.SKColor.Parse("#cf6b00"), Label = "Mon" }); WeekDagStaven.Add(new Entry(standMinutesTue) { Color = SkiaSharp.SKColor.Parse("#cf6b00"), Label = "Tue" }); WeekDagStaven.Add(new Entry(standMinutesWed) { Color = SkiaSharp.SKColor.Parse("#cf6b00"), Label = "Wed" }); WeekDagStaven.Add(new Entry(standMinutesThu) { Color = SkiaSharp.SKColor.Parse("#cf6b00"), Label = "Thu" }); WeekDagStaven.Add(new Entry(standMinutesFri) { Color = SkiaSharp.SKColor.Parse("#cf6b00"), Label = "Fri" }); //Waarden voor cirkel met 8 uur int CalculateRest = 40 - StandHours; CirkelUren.Add(new Entry(StandHours) { Color = SkiaSharp.SKColor.Parse("#cf6b00") }); CirkelUren.Add(new Entry(CalculateRest) { Color = SkiaSharp.SKColor.Parse("#F7F7F7") }); txtStandingHours.Text = StandHours.ToString(); //Deze waarde is voor de tekstbox in de ring int daysNotRecorded = 0; //Waarden voor Tekst (uren) // als er een hele dag geen recordings zijn wordt dit aangepast if (list_maandag.Count == 0 && list_dinsdag.Count == 0 && list_woensdag.Count == 0 && list_donderdag.Count == 0 && list_vrijdag.Count == 0) { lblUurStand.Text = "0h 0m"; lblUurZit.Text = "0h 0m"; } else { var som_standing_uur = standMinutes / 60; var som_standing_min = Convert.ToInt32(standMinutes % 60); var som_sitting_uur = (sitMinutes / 60) - (daysNotRecorded * 8); var som_sitting_min = sitMinutes % 60; lblUurStand.Text = (som_standing_uur + "h " + som_standing_min + "m").ToString(); //teksUrenSta; lblUurZit.Text = Convert.ToString(som_sitting_uur + "h " + som_sitting_min + "m"); //teksUren ; } if (list_maandag.Count == 0) { daysNotRecorded += 1; } if (list_dinsdag.Count == 0) { daysNotRecorded += 1; } if (list_woensdag.Count == 0) { daysNotRecorded += 1; } if (list_donderdag.Count == 0) { daysNotRecorded += 1; } if (list_vrijdag.Count == 0) { daysNotRecorded += 1; } //lblUurZit.Text = Convert.ToString(standing - som_standing_uur - stauur) + " h " + Convert.ToString(zitminuten - som_standing_min) + " m"; #endregion #region Aanmaken Charts //---------------------------------------- //Donut ChartsStaVsZit.Chart = new DonutChart { Entries = staZitWeekEntry, MaxValue = weekTimePassed, LabelTextSize = 32, HoleRadius = 0.5F }; //Staven ChartStavenUren.Chart = new BarChart { Entries = WeekDagStaven, MaxValue = 400, LabelTextSize = 32 }; // Cirkel van 8 uur ChartCirkelUren.Chart = new DonutChart { Entries = CirkelUren, MaxValue = 40, HoleRadius = 0.9F }; //---------------------------------------- #endregion }
private async void AddColleague_Tapped(object sender, EventArgs e) { var action = await DisplayActionSheet("How would you like to add a colleague?", "Cancel", null, "Scan QR-Code", "Enter code manually"); switch (action) { case "Scan QR-Code": //Hier komt de code voor de QR-Code Camera var ResultaatCode = "0"; var scan = new ZXingScannerPage(); Navigation.PushAsync(scan); scan.OnScanResult += (resultaat) => { Device.BeginInvokeOnMainThread(async() => { Navigation.PopAsync(); ResultaatCode = resultaat.Text; if (ResultaatCode.Length == 6) { try { var response = await ImaniManager.FollowUserAsync(GlobalVariables.user.UserId.ToString().ToUpper(), ResultaatCode); if (response != "User niet gevonden") { await DisplayAlert("Attention!", "You are now succesfully following: " + response, "Ok"); } else { await DisplayAlert("Attention!", "The sharekey does not match a user!", "Ok"); } } catch { await DisplayAlert("Alert!", "Something went wrong!", "Ok"); } Application.Current.MainPage = new ColleaguesPage(); } }); }; break; case "Enter code manually": var result = await UserDialogs.Instance.PromptAsync(new PromptConfig { Title = "Add Colleague", Message = "Give the share key!", OkText = "Ok", CancelText = "Cancel", MaxLength = 6 }); var EnteredCode = result.Value; if (result.Ok && EnteredCode.Length == 6) { try { var response = await ImaniManager.FollowUserAsync(GlobalVariables.user.UserId.ToString().ToUpper(), EnteredCode); if (EnteredCode.ToUpper() == GlobalVariables.user.Sharekey) { await DisplayAlert("UHMMM", "You can't follow your own account, please find some friends :)", "OK :'("); } else if (response != "User niet gevonden") { await DisplayAlert("Attention!", "You are now succesfully following: " + response, "Ok"); } else { await DisplayAlert("Attention!", "The sharekey does not match a user!", "Ok"); } if (response == "Er is iets fout gegaan") { await DisplayAlert("Attention!", "There went something wrong!", "Ok"); } } catch { await DisplayAlert("Alert!", "Something went wrong!", "Ok"); } Application.Current.MainPage = new ColleaguesPage(); } else { await DisplayAlert("Invalid!", "Please enter a valid share key!", "Ok, sorry"); } break; } }
private async void btnLogin_Clicked(object sender, EventArgs e) { try { if (!string.IsNullOrWhiteSpace(entMail.Text) && !string.IsNullOrWhiteSpace(entPassword.Text)) { var semiTransparentColor = new Color(0, 0, 0, 0.5); frameLayer.BackgroundColor = semiTransparentColor; frameLayer.IsVisible = true; indicatorLoader.IsRunning = true; User user_try = new User(); user_try.Email = entMail.Text.Trim(); user_try.Password = entPassword.Text; User user = await ImaniManager.LoginUserAsync(user_try); if (user.Name != null) { GlobalVariables.user = user; Application.Current.MainPage = new Dashboard.DashboardContent(); try { if (ble.State == BluetoothState.Off) { Debug.WriteLine("Bluetooth uit"); } else if (ble.State == BluetoothState.On) { adapter.DeviceDiscovered += (s, a) => { if (a.Device.Name == "Imani tracker 0001") { GlobalVariables.device = a.Device; GlobalVariables.deviceAanwezig = true; } }; await adapter.StartScanningForDevicesAsync(); if (GlobalVariables.deviceAanwezig == true) { await adapter.ConnectToDeviceAsync(GlobalVariables.device); GlobalVariables.connection = true; Debug.WriteLine("Succes"); } else { Debug.WriteLine("No device"); } } else { Debug.WriteLine("ERROR"); } } catch (Exception ex) { throw ex; } if (GlobalVariables.connection == false) { var reslutaat = await UserDialogs.Instance.ConfirmAsync(new ConfirmConfig { Title = "Not connected", Message = "You are not connected to your shoe sole!", OkText = "Go to settings", CancelText = "I'm okay", }); if (reslutaat) { GlobalVariables.doorverwijzenBluetooth = true; GlobalVariables.displayedScreen = "Settings"; Application.Current.MainPage = new SettingsPage(); } } } else { await DisplayAlert("Attention", "Email/wachtwoord incorrect", "OK"); frameLayer.IsVisible = false; indicatorLoader.IsRunning = false; } } else { await DisplayAlert("Attention!", "Your input was incorrect!", "OK"); frameLayer.IsVisible = false; indicatorLoader.IsRunning = false; } } catch (Exception ex) { throw ex; } }