Exemple #1
0
        private async Task RemoveSpelerRonde(Guid gebruikersId, Guid rondeId)
        {
            checkConnectivity();
            //Een confirmatie vragen
            bool confirmatie = await DisplayAlert("Waarschuwing", "Ben je zeker dat je de ronde wilt verlaten?", "Ja", "Nee");

            if (confirmatie == true)
            {
                int response = await EtappeRepository.RemoveDeelnemerRonde(GebruikersInfo.GebruikerId, RondeInfo.RondeId);

                if (response == 1)
                {
                    await DisplayAlert("Ronde verlaten", "Je ben succesvol uit de ronde verwijderd", "Ok");

                    await Navigation.PushAsync(new RondeOverzichtPage(GebruikersInfo));
                }
                else
                {
                    await DisplayAlert("Fout", "Er is een fout opgetreden bij het verlaten", "Ok");
                }
            }
            else
            {
            }
        }
Exemple #2
0
        private async Task OpgevenRonde()
        {
            checkConnectivity();
            //pop up zodat we zeker zijn of de deelnemer wil stoppen met zijn etappe
            bool answer = await DisplayAlert("Opgepast", "Als u nu stopt met deelnemen kan u volgende etappes niet meer meerijden. Bent u zeker dat u wil stoppen met deelnemen?", "Ja", "Nee");

            Console.WriteLine("Answer: " + answer);
            if (answer == true)
            {
                isRacing = false;
                DeviceDisplay.KeepScreenOn = false;

                //Deelnemer uit de ronde smijten
                await EtappeRepository.UpdateDeelnemerGestopt(etappe.RondId, gebruikersInfo.GebruikerId);

                Navigation.PushAsync(new RondeOverzichtPage(gebruikersInfo));
            }
        }
Exemple #3
0
        private async Task SaveEtappeAsync()
        {
            checkConnectivity();
            //Scherm mag uit gaan want er zijn geen berekeningen en while loops meer
            DeviceDisplay.KeepScreenOn = false;
            await DisplayAlert("Etappe afgewerkt", "U heeft deze etappe afgewerkt, deze wordt nu opgeslagen en verwerkt. U wordt doorgestuurd naar de etappe pagina bij succes.", "SLUITEN");

            bool succes = await EtappeRepository.SaveRiddenEtappe(timeRegistrations);

            if (succes)
            {
                Navigation.PopAsync();
            }
            else
            {
                await ReSaveEtappeAsync();
            }
        }
Exemple #4
0
        private async Task controleInput(DateTime date)
        {
            checkConnectivity();
            // controleren of opgegeven data niet in het verleden ligt
            if (date < DateTime.Now)
            {
                //alert
                await DisplayAlert("Foutmelding", "De etappe kan niet in het verleden plaats vinden", "OK");
            }
            // controleren of er 1 of meerdere laps zijn
            if (laps < 1)
            {
                //alert
                await DisplayAlert("Foutmelding", "Er moet minstens 1 lap gereden worden", "OK");
            }
            //controleren als alles goed is
            if (date > DateTime.Now && laps > 0)
            {
                //dataverwerken in database
                Etappe etappe = new Etappe();
                etappe.Laps       = laps;
                etappe.RondeId    = RondeInfo.RondeId;
                etappe.LapAfstand = (float)(laps * 333.33);
                etappe.StartTijd  = date;

                Etappe etappeResponse = await EtappeRepository.CreateEtappe(etappe);

                if (etappeResponse == null)
                {
                    //Foutmelding
                    await DisplayAlert("Foutmelding", "Er is iets foutgelopen bij het aanmaken van de etappe", "OK");
                }
                else
                {
                    //melding dat de ronde succesvol is aangemaakt
                    await DisplayAlert("Succes", "Etappe is succesvol aangemaakt", "OK");

                    //Etappe aangemaakt doorgaan naar etappe pagina
                    Navigation.PopAsync();
                }
            }
            //anders niets doen
        }
Exemple #5
0
        private async Task LoadEtappesAsync()
        {
            checkConnectivity();
            List <EtappesRonde> etappes = await EtappeRepository.GetEtappesRonde(RondeInfo.RondeId, GebruikersInfo.GebruikerId);

            if (etappes == null || etappes.Count == 0)
            {
                lvwEtappes.EndRefresh();
                lvwEtappes.IsVisible = false;

                lblNoData.IsVisible = true;
            }
            else
            {
                lblNoData.IsVisible  = false;
                lvwEtappes.IsVisible = true;
            }

            etappeTeller += etappes.Count();

            foreach (EtappesRonde item in etappes)
            {
                item.EtappeNaam = $"Etappe {etappeTeller}";
                etappeTeller   -= 1;
            }

            if (GebruikersInfo.GebruikerId != RondeInfo.Admin)
            {
                lvwEtappes.ItemsSource = etappes;
                lblRondePlaats.Text    = RondeInfo.Ranking;
                lblRondeTijd.Text      = TimeSpan.FromSeconds(RondeInfo.TotaalTijd).ToString();
            }
            else
            {
                lvwEtappesAdmin.ItemsSource = etappes;
            }

            lvwEtappes.EndRefresh();
            lvwEtappesAdmin.EndRefresh();
        }
Exemple #6
0
        private async Task StopEtappe()
        {
            checkConnectivity();
            bool answer = await DisplayAlert("Etappe stoppen", "Bent u zeker dat u deze etappe wil stoppen? Doe dit enkel wanneer elke deelnemer klaar is met zijn etappe.", "JA", "NEE");

            if (answer)
            {
                // API CALL ETAPPE NIET ACTIEF ZETTEN
                bool succes = await EtappeRepository.StopEtappe(etappe);

                if (succes)
                {
                    DisplayAlert("Etappe gestopt", "U heeft deze etappe beeïndigd", "OKE");
                    isNotStopped = false;
                    Navigation.PopAsync();
                }
                else
                {
                    DisplayAlert("Etappe niet gestopt", "Er liep iets mis, porbeer opnieuw door nogmaals op stop etappe te klikken", "OKE");
                }
            }
        }
Exemple #7
0
        //Fallback bij eerste poging opslaan.
        private async Task ReSaveEtappeAsync()
        {
            bool answer = await DisplayAlert("Etappe NIET opgeslagen", "De etappe is niet opgeslagen, klik op probeer opnieuw.", "PROBEER OPNIEUW", "NIET OPSLAAN");

            if (answer)
            {
                bool succes = await EtappeRepository.SaveRiddenEtappe(timeRegistrations);

                if (succes)
                {
                    Navigation.PopAsync();
                }
                else
                {
                    await ReSaveEtappeAsync();
                }
            }
            else
            {
                Navigation.PopAsync();
            }
        }