private async void LoadRoutes()
        {
            routesReservations = new List <Routes>();

            routesList = await routeManager.ListRoutesWhere(route => route.ID_User != currentUser.ID && route.Depart_Date > DateTime.Now);

            reservationsList = await reservationManager.GetReservationsWhere(reservation => reservation.ID_User == currentUser.ID);

            foreach (var reservation in reservationsList)
            {
                var route = routesList.Find(routes => routes.ID == reservation.ID_Route);
                if (route != null)
                {
                    routesReservations.Add(route);
                }
            }

            if (routesReservations.Count > 0)
            {
                errorLayout.IsVisible = false;
            }
            else
            {
                errorLayout.IsVisible          = true;
                errorLabel.Text                = "No reservations available";
                routesListView.BackgroundColor = Color.FromHex("#009688");
                await Navigation.PopAsync();
            }

            routesListView.ItemsSource = routesReservations;

            routesListView.IsRefreshing = false;
        }
        private async Task LoadReservation()
        {
            string id_user  = currentUser.ID;
            string id_route = route.ID;

            Reservations reservation = new Reservations
            {
                ID_User  = id_user,
                ID_Route = id_route
            };

            reservationResult = await reservationsManager.GetReservationsWhere(res => res.ID_Route == reservation.ID_Route);

            if (reservationResult.Count != 0)
            {
                foreach (var res in reservationResult)
                {
                    usersList.Add(await usersManager.GetUserWhere(user => user.ID == res.ID_User));
                }
                foreach (var user in usersList)
                {
                    usersLayout.Children.Add(new Label()
                    {
                        Text = user.Name
                    });
                }
            }
            else
            {
                usersLayout.Children.Add(new Label()
                {
                    Text = "Any user reserved"
                });
            }
        }
        private async void LoadRoutesList()
        {
            reservationsList            = new List <Reservations>();
            routesListView.IsRefreshing = true;
            routesList = await routeManager.ListRoutesWhere(route => route.ID_User != currentUser.ID && route.Depart_Date > DateTime.Now);

            reservationsList =
                await reservationManager.GetReservationsWhere(reservation => reservation.ID_User == currentUser.ID);

            foreach (var reservation in reservationsList)
            {
                routesList.Remove(routesList.Find(route => route.ID == reservation.ID_Route));
            }

            for (int i = 0; i < routesList.Count; i++)
            {
                List <Reservations> rl = await reservationManager.GetReservationsWhere(reservation => reservation.ID_Route == routesList.ElementAt(i).ID);

                if (rl.Count == routesList.ElementAt(i).Capacity)
                {
                    routesList.RemoveAt(i);
                }
            }

            if (routesList.Count != 0)
            {
                routesListView.BackgroundColor = Color.White;
                errorLayout.IsVisible          = false;
            }
            else
            {
                errorLabel.Text                = "No routes available";
                errorLayout.IsVisible          = true;
                routesListView.BackgroundColor = Color.FromHex("#009688");
            }
            routesListView.ItemsSource = routesList;

            if (reservationsList.Count > 0)
            {
                ToolbarItems.Add(reservationsButton);
            }

            routesListView.IsRefreshing = false;
        }
        private async void LoadData()
        {
            this.IsBusy = true;

            userRoute = await usersManager.GetUserWhere(userSelect => userSelect.ID == userRoute.ID);

            nameLabel.Text        = userRoute.Name;
            ageLabel.Text         = "Age: " + userRoute.Age;
            phoneLabel.Text       = "Phone: " + userRoute.Phone;
            descriptionLabel.Text = route.Comments;
            departureLabel.Text   = "Departure: \n" + route.Depart_Date.ToString("dd/MMMM H:mm ") + "h";

            Reservations reservation = new Reservations
            {
                ID_Route = route.ID
            };

            List <Reservations> reservations = await reservationsManager.GetReservationsWhere(reserv => reserv.ID_Route == reservation.ID_Route);

            seatsLabel.Text = "Seats Available: " + (route.Capacity - reservations.Count);

            this.IsBusy = false;
        }