//permet de generer le pdf pour un client
    public static void genererPDFClient(string adresseMail)
    {
        Client client = ControleurClient.getClient(adresseMail);

        using (FileStream stream = new FileStream("..//..//Client_" + client.Nom + "_" + client.Prenom + ".pdf", FileMode.Create))
        {
            int nombreHeureEffective        = ControleurClient.getNombreHeureEffectiveClient(adresseMail);
            List <Reservation> reservations = ControleurReservation.getReservationClient(client.AdresseMail);

            Document pdfDoc = new Document(PageSize.A2, 10f, 10f, 10f, 0f);
            PdfWriter.GetInstance(pdfDoc, stream);
            pdfDoc.Open();
            Paragraph p1 = new Paragraph();
            p1.Add(new Phrase("\n\n\n   " + client.Nom + " " + client.Prenom, new Font(Font.NORMAL, 24)));
            p1.Add(new Phrase("\n\n\t   " + client.Adresse, new Font(Font.NORMAL, 24)));
            p1.Add(new Phrase("\n\n\t   " + client.Telephone, new Font(Font.NORMAL, 24)));
            p1.Add(new Phrase("\n\n\t   " + client.AdresseMail, new Font(Font.NORMAL, 24)));
            pdfDoc.Add(p1);

            Image logo = Image.GetInstance("C:\\Users\\med\\Documents\\Visual Studio 2015\\Projects\\DesktopIHM\\DesktopIHM\\Images\\téléchargement.jpg");
            logo.SetAbsolutePosition(900, 1400);
            pdfDoc.Add(logo);
            Phrase ph1 = new Phrase("\n\n\n   Nombre d'heure effectives : " + nombreHeureEffective + "H", new Font(Font.NORMAL, 24));
            pdfDoc.Add(ph1);
            Phrase ph2 = new Phrase("\n\n\n   Mon planning : ", new Font(Font.NORMAL, 24));
            pdfDoc.Add(ph2);
            PdfPTable table = new PdfPTable(3);
            foreach (Reservation reservation in reservations)
            {
                table.AddCell(reservation.Moniteur.Nom + " " + reservation.Moniteur.Prenom);
                table.AddCell(reservation.Vehicule.Immatriculation);
                table.AddCell(reservation.Date.ToString());
            }
            pdfDoc.Add(table);

            double res = GestionPaiement.calculPaiement(client.AdresseMail);
            if (res < 0)
            {
                Phrase ph3 = new Phrase("\n\n\n   L'auto école vous doit : " + Math.Abs(res) + "€", new Font(Font.NORMAL, 24));
                pdfDoc.Add(ph3);
            }
            else
            {
                Phrase ph3 = new Phrase("\n\n\n   Vous devez  : " + res + "€ à l'auto école", new Font(Font.NORMAL, 24));
                pdfDoc.Add(ph3);
            }



            pdfDoc.Close();
            stream.Close();
        }
    }
        private void RechercherClient_Click(object sender, EventArgs e)
        {
            resultatRecherche.Rows.Clear();
            resultatRecherche.Refresh();
            List <Client> clients = ControleurClient.rechercherClient(nomRecherche.Text, prenomRecherche.Text);

            foreach (Client client in clients)
            {
                DataGridViewRow row = new DataGridViewRow();
                row.CreateCells(resultatRecherche, client.Nom, client.Prenom, client.Telephone, client.AdresseMail);
                resultatRecherche.Rows.Add(row);
            }
        }
 private void button_EnregisterClient_Click(object sender, EventArgs e)
 {
     if (nom.Text != "" && prenom.Text != "" && adresse.Text != "" && telephone.Text != "" && adresseMail.Text != "")
     {
         ControleurClient.enregistrerClient(nom.Text, prenom.Text, dateNaissance.Value.Date,
                                            adresse.Text, telephone.Text, adresseMail.Text, "");
         GestionPhoto.insererImageClient(adresseMail.Text, urlImage);
         MessageBox.Show("client ajouté");
         this.Show();
     }
     else
     {
         MessageBox.Show("saisie invalide");
         this.Show();
     }
 }
    //permet d'inserer une image d'un client en bd
    public static void insererImageClient(string adresseMail, string image)
    {
        int idClient = ControleurClient.getClientId(adresseMail);

        MySqlCommand query = new MySqlCommand("UPDATE ladi.DSMSpersonne SET photo=@photo WHERE idPersonne=@idClient ", conn);

        query.Parameters.AddWithValue("@photo", image);
        query.Parameters.AddWithValue("@idClient", idClient);
        conn.Open();
        using (MySqlDataReader reader = query.ExecuteReader())
        {
            while (reader.Read())
            {
            }
        }
        conn.Close();
    }
    //permet d'enregistrer un paiement
    public static void enregistrerPaiement(string adresseMail, string typePaiement, double montant)
    {
        int idClient = ControleurClient.getClientId(adresseMail);

        conn.Open();
        MySqlCommand cmd = new MySqlCommand();

        cmd.Connection  = conn;
        cmd.CommandText = "INSERT INTO ladi.DSMSpaiement(idClient,typePaiement,date,montant) VALUES(@idClient,@typePaiement,@date,@montant)";
        cmd.Parameters.AddWithValue("@idClient", idClient);
        cmd.Parameters.AddWithValue("@typePaiement", typePaiement);
        cmd.Parameters.AddWithValue("@date", DateTime.Now);
        cmd.Parameters.AddWithValue("@montant", montant);
        cmd.ExecuteNonQuery();
        conn.Close();
        Console.WriteLine("paiement ajouté");
    }
        public void completerFenetre()
        {
            nom.Text            = client.Nom;
            prenom.Text         = client.Prenom;
            dateNaissance.Text  = client.DateNaissance.ToString("dd-MM-yyyy");
            adresse.Text        = client.Adresse;
            telephone.Text      = client.Telephone;
            adresseMail.Text    = client.AdresseMail;
            heureEffective.Text = ControleurClient.getNombreHeureEffectiveClient(client.AdresseMail).ToString();
            List <Reservation> reservations = ControleurReservation.getReservationClient(client.AdresseMail);

            foreach (Reservation reservation in reservations)
            {
                DataGridViewRow row = new DataGridViewRow();
                row.CreateCells(planning, reservation.Moniteur.Nom + " " + reservation.Moniteur.Prenom, reservation.Vehicule.Immatriculation, reservation.Date.ToString());
                planning.Rows.Add(row);
            }
            this.pictureBox1.Image    = Image.FromFile(GestionPhoto.afficherImageClient(client.AdresseMail));
            this.pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;
        }
Exemple #7
0
    //permet de calculer le montant theorique que doit payé un client
    public static double montantTheorique(string adresseMail)
    {
        int    idClient = ControleurClient.getClientId(adresseMail);
        double res      = 0;

        conn.Open();
        MySqlCommand query = new MySqlCommand("select COUNT(*) from ladi.DSMSreservation where idClient=@idClient", conn);

        query.Parameters.AddWithValue("@idClient", idClient);
        using (MySqlDataReader reader = query.ExecuteReader())
        {
            while (reader.Read())
            {
                res = Convert.ToDouble(reader.GetString(0));
            }
        }
        conn.Close();

        return(res * Outils.prix);
    }
    //permet de recuperer tous les paiement d'un client
    public static List <Paiement> getPaiementClient(int idClient)
    {
        List <Paiement> paiements = new List <Paiement>();

        conn.Open();
        MySqlCommand query = new MySqlCommand("select * from ladi.DSMSpaiement where idClient=@idClient", conn);

        query.Parameters.AddWithValue("@idClient", idClient);

        using (MySqlDataReader reader = query.ExecuteReader())
        {
            while (reader.Read())
            {
                paiements.Add(new Paiement(ControleurClient.getClient(idClient), reader.GetString(2), reader.GetDateTime(3), reader.GetDouble(4)));
            }
        }

        conn.Close();
        Console.WriteLine("paiements");
        return(paiements);
    }
    //permet de recuperer tous les reservations d'un véhicule à partir d'une adresseMail
    public static List <Reservation> getReservationVehicule(string immatriculation)
    {
        List <Reservation> reservations = new List <Reservation>();

        conn.Open();
        MySqlCommand query = new MySqlCommand("select * from ladi.DSMSreservation r,ladi.DSMSvehicule v where r.idVehicule=v.idVehicule and r.realisee=0 and v.immatriculation=@immatriculation", conn);

        query.Parameters.AddWithValue("@immatriculation", immatriculation);

        using (MySqlDataReader reader = query.ExecuteReader())
        {
            while (reader.Read())
            {
                reservations.Add(new Reservation(ControleurClient.getClient(reader.GetInt32(1)), ControleurMoniteur.getMoniteur(reader.GetInt32(2)), ControleurVehicule.getVehicule(immatriculation), Outils.convertirStringToDateTime(reader.GetString(4))));
            }
        }

        conn.Close();
        Console.WriteLine("reservations");
        return(reservations);
    }
    //permet de recuperer tous les reservations d'un client à partir d'une adresseMail
    public static List <Reservation> getReservationClient(string adresseMail)
    {
        List <Reservation> reservations = new List <Reservation>();

        conn.Open();
        MySqlCommand query = new MySqlCommand("select * from ladi.DSMSreservation r,ladi.DSMSpersonne p  where r.idClient=p.idPersonne and r.realisee=0 and p.adresseMail=@adresseMail", conn);

        query.Parameters.AddWithValue("@adresseMail", adresseMail);

        using (MySqlDataReader reader = query.ExecuteReader())
        {
            while (reader.Read())
            {
                reservations.Add(new Reservation(ControleurClient.getClient(adresseMail), ControleurMoniteur.getMoniteur(reader.GetInt32(2)), ControleurVehicule.getVehicule(reader.GetInt32(3)), Outils.convertirStringToDateTime(reader.GetString(4))));
            }
        }

        conn.Close();
        Console.WriteLine("reservations");
        return(reservations);
    }
    //permet d'enregistrer une reservation
    public static void enregistrerRerservation(string adresseMail, Moniteur moniteur, string heure, DateTime jour)
    {
        int idClient   = ControleurClient.getClientId(adresseMail);
        int idMoniteur = ControleurMoniteur.getMoniteurId(moniteur.AdresseMail);

        conn.Open();
        MySqlCommand cmd = new MySqlCommand();

        cmd.Connection = conn;
        Vehicule vehicule   = ControleurVehicule.getVehiculeDispo(heure, jour);
        int      idVehicule = ControleurVehicule.getVehiculeId(vehicule.Immatriculation);

        cmd.CommandText = "INSERT INTO ladi.DSMSreservation(idClient,idMoniteur,idVehicule,date) VALUES(@idClient,@idMoniteur,@idVehicule,@date)";
        cmd.Parameters.AddWithValue("@idClient", idClient);
        cmd.Parameters.AddWithValue("@idMoniteur", idMoniteur);
        cmd.Parameters.AddWithValue("@idVehicule", idVehicule);
        cmd.Parameters.AddWithValue("@date", Outils.convertirDateFormat(Outils.convertirStringToDateTime(Outils.fusion(jour, heure))));
        cmd.ExecuteNonQuery();
        conn.Close();
        Console.WriteLine("reservation ajouté");
    }
 public FicheClient(string adresseMail)
 {
     client = ControleurClient.getClient(adresseMail);
     InitializeComponent();
     completerFenetre();
 }