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;
        }
Пример #2
0
        private async void LoadRoutes()
        {
            routesListView.IsRefreshing = true;

            routesList = await routeManager.ListRoutesWhere(route => route.Id_User == currentUser.Id);

            errorLayout.Children.Clear();
            if (routesList.Count == 0)
            {
                errorLayout.Children.Add(new Label
                {
                    Text      = "No routes available",
                    TextColor = Color.White,
                    FontSize  = 25,
                    HorizontalTextAlignment = TextAlignment.Center
                });
            }
            else
            {
                usersRoutes = from r in routesList
                              join u in userList on r.Id_User equals u.Id
                              select new UserRoute()
                {
                    IdRoute = r.Id, ResourceName = u.ResourceName, From = r.From, To = r.To
                };
                routesListView.ItemsSource = usersRoutes;
            }

            routesListView.IsRefreshing = false;
        }
Пример #3
0
        private async void LoadRoutesList()
        {
            userList = await usersManager.GetUsersWhere(user => user.Id != currentUser.Id);

            reservationsList            = new List <Reservation>();
            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 <Reservation> 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");
            }

            usersRoutes = from r in routesList
                          join u in userList on r.Id_User equals u.Id
                          select new UserRoute {
                IdRoute = r.Id, ResourceName = u.ResourceName, From = r.From, To = r.To
            };

            routesListView.ItemsSource = usersRoutes;

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

            routesListView.IsRefreshing = false;
        }
Пример #4
0
        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;
        }
Пример #5
0
        private async void LoadRoutes()
        {
            routesReservations = new List <Route>();

            userList = await usersManager.GetUsersWhere(user => user.Id != currentUser.Id);

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

            usersRoutes = from r in routesReservations
                          join u in userList on r.Id_User equals u.Id
                          select new UserRoute {
                IdRoute = r.Id, ResourceName = u.ResourceName, From = r.From, To = r.To
            };

            routesListView.ItemsSource = usersRoutes;

            routesListView.IsRefreshing = false;
        }
Пример #6
0
        private async void LoadRoutes()
        {
            routesListView.IsRefreshing = true;

            routesList = await routeManager.ListRoutesWhere(route => route.ID_User == currentUser.ID);

            errorLayout.Children.Clear();
            if (routesList.Count == 0)
            {
                errorLayout.Children.Add(new Label
                {
                    Text      = "No routes available",
                    TextColor = Color.White,
                    FontSize  = 25,
                    HorizontalTextAlignment = TextAlignment.Center
                });
            }
            else
            {
                routesListView.ItemsSource = routesList;
            }

            routesListView.IsRefreshing = false;
        }