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