public DetailReservation()
        {
            InitializeComponent();
            Trajet leTrajet   = laReservation.getTrajet();
            var    dateTrajet = leTrajet.getDate().Date.ToString("dd/MM/yyyy");

            Title = "Détail de la réservation";

            StackLayout stackPrincipal = new StackLayout()
            {
                Margin = new Thickness(30, 20, 30, 0)
            };
            ScrollView scroll = new ScrollView();
            Label      reservationSelectionne = new Label()
            {
                Text = "Lieu de départ : " + laReservation.getMonte() + "\n" +
                       "  " + "\n" +
                       "Lieu d'arrivée : " + laReservation.getDescente() + "\n" +
                       "  " + "\n" +
                       "Prix : " + laReservation.getPrix() + "€" + "\n",
                FontSize = 20
            };

            StackLayout stackCardTrajet = new StackLayout();
            Frame       frameTrajet     = new Frame()
            {
                CornerRadius = 10,
                BorderColor  = Color.FromHex("#27ae60"),
                Padding      = new Thickness(0, 0, 0, 0)
            };
            StackLayout titreTrajet = new StackLayout()
            {
                HorizontalOptions = LayoutOptions.Fill,
                BackgroundColor   = Color.FromHex("#27ae60"),
                HeightRequest     = 50,
                Padding           = new Thickness(0, 15, 0, 0)
            };
            Label titre = new Label()
            {
                HorizontalTextAlignment = TextAlignment.Center,
                Text      = "Trajet",
                FontSize  = 20,
                TextColor = Color.White
            };

            StackLayout descTrajet = new StackLayout()
            {
                Padding = new Thickness(10, 0, 10, 20)
            };
            Label description = new Label()
            {
                Text = "Description : " + leTrajet.getDescTrajet() + "\n" +
                       "  " + "\n" +
                       "Lieu de départ : " + leTrajet.getLieuDepart().getLibelle() + "\n" +
                       "  " + "\n" +
                       "Lieu d'arrivée : " + leTrajet.getLieuArrive().getLibelle() + "\n" +
                       "  " + "\n" +
                       "Date : " + dateTrajet + " de " + leTrajet.getHeureDepart() + " à " + leTrajet.getHeureArrive() + "\n" +
                       "  " + "\n" +
                       "Nombre de places disponibles : " + leTrajet.getNbPlaces(),
                FontSize = 20
            };

            StackLayout stackCardConducteur = new StackLayout();
            Frame       frameConducteur     = new Frame()
            {
                CornerRadius = 10,
                BorderColor  = Color.FromHex("#27ae60"),
                Padding      = new Thickness(0, 0, 0, 0),
                Margin       = new Thickness(0, 20, 0, 20)
            };

            StackLayout titreConducteur = new StackLayout()
            {
                HorizontalOptions = LayoutOptions.Fill,
                BackgroundColor   = Color.FromHex("#27ae60"),
                HeightRequest     = 50,
                Padding           = new Thickness(0, 15, 0, 0)
            };
            Label titreConducteurr = new Label()
            {
                HorizontalTextAlignment = TextAlignment.Center,
                Text      = "Conducteur",
                FontSize  = 20,
                TextColor = Color.White
            };



            StackLayout descConducteur = new StackLayout()
            {
                Padding = new Thickness(10, 0, 10, 20)
            };

            Label descriptionConducteur = new Label()
            {
                Text = "Nom : " + leTrajet.getConducteur().getNom() + "\n" +
                       "Prénom : " + leTrajet.getConducteur().getPrenom() + "\n" +
                       " " + "\n" +
                       "Date de naissance : " + leTrajet.getConducteur().getDateNaissance().ToString("dd/MM/yyyy") +
                       " " + "\n" +
                       "Contacter " + leTrajet.getConducteur().getPrenom(),
                FontSize = 20
            };

            titreConducteur.Children.Add(titreConducteurr);
            stackCardConducteur.Children.Add(titreConducteur);
            descConducteur.Children.Add(descriptionConducteur);
            stackCardConducteur.Children.Add(descConducteur);
            frameConducteur.Content = stackCardConducteur;

            StackLayout boutonStakLayout = new StackLayout()
            {
                Margin = new Thickness(0, 0, 0, 20)
            };

            Button boutonAnnuler = new Button
            {
                WidthRequest    = 20,
                HeightRequest   = 40,
                BackgroundColor = Color.FromHex("#27ae60"),
                CornerRadius    = 10,
                Text            = "Annuler",
                FontSize        = 18,
                TextColor       = Color.White
            };

            boutonAnnuler.Clicked += annulerReservation;

            boutonStakLayout.Children.Add(boutonAnnuler);

            descTrajet.Children.Add(description);
            titreTrajet.Children.Add(titre);
            stackCardTrajet.Children.Add(titreTrajet);
            stackCardTrajet.Children.Add(descTrajet);
            frameTrajet.Content = stackCardTrajet;

            stackPrincipal.Children.Add(reservationSelectionne);
            stackPrincipal.Children.Add(frameTrajet);
            stackPrincipal.Children.Add(frameConducteur);
            stackPrincipal.Children.Add(boutonStakLayout);
            scroll.Content = stackPrincipal;
            Content        = scroll;
        }
Example #2
0
        public ReserverTrajet()
        {
            InitializeComponent();
            Title = "Reserver un trajet";
            StackLayout stackPrincipal = new StackLayout()
            {
                Margin = new Thickness(30, 20, 30, 0)
            };

            StackLayout stackTrajet = new StackLayout();

            Label descTrajet = new Label()
            {
                Text = "🚘 Départ : " + trajetChoisi.getLieuDepart().getLibelle() + "\n" +
                       "🚩 Arrivée : " + trajetChoisi.getLieuArrive().getLibelle() + "\n" +
                       "🧑 Conducteur : " + trajetChoisi.getConducteur().getPrenom() + " " + trajetChoisi.getConducteur().getNom(),
                FontSize = 20
            };

            stackTrajet.Children.Add(descTrajet);

            StackLayout stackForm  = new StackLayout();
            Picker      lieuDepart = new Picker()
            {
                Title = "Choisissez un lieu de départ"
            };
            List <Lieu> lieuxDepart = Database.MyCovoit.getLesLieux();

            for (int i = 0; i < lieuxDepart.Count; i++)
            {
                lieuDepart.Items.Add(lieuxDepart[i].getLibelle());
            }

            Picker lieuArrivee = new Picker()
            {
                Title = "Choisissez un lieu d'arrivée"
            };
            List <Lieu> lieuxArrivee = Database.MyCovoit.getLesLieux();

            for (int i = 0; i < lieuxArrivee.Count; i++)
            {
                lieuArrivee.Items.Add(lieuxArrivee[i].getLibelle());
            }

            stackForm.Children.Add(lieuDepart);
            stackForm.Children.Add(lieuArrivee);

            StackLayout boutonStakLayout = new StackLayout()
            {
                HeightRequest = 60
            };
            Frame bouton = new Frame()
            {
                HorizontalOptions = LayoutOptions.Fill,
                VerticalOptions   = LayoutOptions.Fill,
                CornerRadius      = 10,
                HeightRequest     = 20
            };

            Label Labelbouton = new Label()
            {
                Text = "Réserver",
                HorizontalTextAlignment = TextAlignment.Center,
                BackgroundColor         = Color.White,
                FontSize  = 18,
                TextColor = Color.FromHex("#27ae60")
            };

            bouton.Content = Labelbouton;

            var tapInfos = new TapGestureRecognizer();

            tapInfos.Tapped += (s, e) =>
            {
                Database.MyCovoit.ajouterReservation(trajetChoisi.getId(), lieuDepart.SelectedItem.ToString(), lieuArrivee.SelectedItem.ToString());
                Navigation.PushAsync(new Reservation.MesReservations());
            };
            boutonStakLayout.GestureRecognizers.Add(tapInfos);

            boutonStakLayout.Children.Add(bouton);

            stackPrincipal.Children.Add(stackTrajet);
            stackPrincipal.Children.Add(stackForm);
            stackPrincipal.Children.Add(boutonStakLayout);


            Content = stackPrincipal;
        }