Bonjour,

Je fais un annuaire d'entreprise sous C# avec Winform, j'ai une classe ManagerPerson qui me sert à rajouter des salariés dans mon annuaire et je dois inclure une date que l'on choisi avec un dateTimePicker (nommé dateTimePicker_Date), dans Form (J'ai nommé Appli), je peux l'utiliser et je souhaiterais pouvoir l'utiliser dans ManagerPerson.

Le soucis, c'est que je sais pas comment je peux faire. Pouvez vous m'aider ?
Le programme princpale : Appli.cs
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
 
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Newtonsoft.Json;
using System.Net.Http;
using System.Net.Http.Headers;
 
// Librairie MySQL ajoutée dans les références.
using MySql.Data.MySqlClient;
 
namespace Annuaire
{
    public partial class Appli : Form
    {
        ManagerPerson managerPerson = new ManagerPerson(); //Pour appeler la class ManagerPerson
 
        public Appli()
        {
            InitializeComponent();
        }
        public static class Date_Value
        {
            public static DateTime CurrentValue { get; set; }
        }
 
        private void label_Recherche_Click(object sender, EventArgs e)
        {
 
        }
 
        private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        { 
            managerPerson.connection.Open(); //Ouvrir la connexion à la BDD
            // Requête SQL
            object ID_DataGridView = dataGridView1.CurrentRow.Index + 1;
            managerPerson.cmd.CommandText = "SELECT Date_Arrivee FROM users WHERE ID = '"+ ID_DataGridView + "';"; //Défini la requete pour récuperer la Date d'arrivée par rapport à l'ID
            managerPerson.Reader = managerPerson.cmd.ExecuteReader();
 
            if (managerPerson.Reader.HasRows)
            {
 
                if (managerPerson.Reader.Read())
                {
                    string IDt = Convert.ToString(managerPerson.Reader[0]); //Converti l'objet en string
                    dateTimePicker_Date.Value = DateTime.Parse(IDt); //Affiche la date sur le DateTimePicker
                }
 
            }
            managerPerson.connection.Close(); //Ferme la connexion à la BDD
        }
 
 
        public void RechercheBDD()
        {
            string Text_Recup = textBox_Recherche.Text; //Récuperer le texte qui est dans le textbox 
            dataGridView1.Rows.Clear(); //Efface le DGV
 
            managerPerson.connection.Open();
            // Requête SQL
            managerPerson.cmd.CommandText = "SELECT * FROM users WHERE ID='" + Text_Recup + "' OR Prenom='" + Text_Recup + "' OR Nom='" + Text_Recup + "' OR Telephone='" + Text_Recup + "' OR Service='" + Text_Recup + "' OR Date_Entree='" + Text_Recup + "' "; //Défini la requete pour se connecter a la table users
            managerPerson.Reader = managerPerson.cmd.ExecuteReader();
 
            if (managerPerson.Reader.HasRows)
            {
                while (managerPerson.Reader.Read())
                {
                    dataGridView1.Rows.Add(managerPerson.Reader[0].ToString(), managerPerson.Reader[1].ToString(), managerPerson.Reader[2].ToString(), managerPerson.Reader[3].ToString(), managerPerson.Reader[4].ToString(), managerPerson.Reader[5].ToString()); //Affiche dans le DGV
                }
            }
            managerPerson.connection.Close();
        }
 
        public void LoadGrid() //Affiche dans le DGV la BDD
        {
            dataGridView1.Rows.Clear();
 
            managerPerson.connection.Open();        
            // Requête SQL
            managerPerson.cmd.CommandText = "SELECT * FROM users"; //Défini la requete pour se connecter a la table users
            managerPerson.Reader = managerPerson.cmd.ExecuteReader();
 
            if (managerPerson.Reader.HasRows)
            {
                while (managerPerson.Reader.Read())
                {
                    dataGridView1.Rows.Add(managerPerson.Reader[0].ToString(), managerPerson.Reader[1].ToString(), managerPerson.Reader[2].ToString(), managerPerson.Reader[3].ToString(), managerPerson.Reader[4].ToString(), managerPerson.Reader[5].ToString());
                }
            }
            managerPerson.connection.Close();
        }
 
 
 
        private void Button_Quitter_Click(object sender, EventArgs e)
        {
            managerPerson.connection.Close();
            Application.Exit(); //Ferme l'appli
        }
 
        private void Button_Recherche_Click(object sender, EventArgs e)
        {
            RechercheBDD(); //Appel de RechercheBDD
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
            managerPerson.cmd.Connection = managerPerson.connection;
            LoadGrid(); //Appel de LoadGrid
        }
 
        private async void button_Add_User_Click(object sender, EventArgs e)
        {
            await managerPerson.AddContact(); //Appel de AddContact pour ajouter un utilisateur dans le BDD
            LoadGrid(); //Appel de LoadGrid pour actualiser le DGV
        }
 
        private void textBox_Recherche_TextChanged(object sender, EventArgs e)
        {
 
        }
 
        private void dateTimePicker_Date_ValueChanged(object sender, EventArgs e)
        {
 
        }
 
        private void button_Test_Click(object sender, EventArgs e)
        {
            Date_Value.CurrentValue = dateTimePicker_Date.Value;
            Console.WriteLine(Date_Value.CurrentValue);
        }
    }
}
ManagerPerson.cs
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
using System.Net.Http;
using System.Net.Http.Headers;
using Newtonsoft.Json;
 
// Librairie MySQL ajoutée dans les références.
using MySql.Data.MySqlClient;
 
namespace Annuaire
{
    public class ManagerPerson 
    {
        Personnes Personnes = new Personnes();
 
 
        public MySqlConnection connection = new MySqlConnection("SERVER=127.0.0.1; DATABASE=annuaire; UID=root; PASSWORD=; Convert Zero Datetime=True;"); //Défini la connexion à la BDD
        public MySqlDataReader Reader;
        public MySqlCommand cmd = new MySqlCommand();
 
 
        private static readonly HttpClient client = new HttpClient(); //Défini client pour HttpClient
 
        // Constructeur
        public ManagerPerson()
        {
 
        }
 
        public async Task AddContact() //Fonction pour ajouter un contact
        {
            var streamTask = await client.GetStringAsync("https://randomuser.me/api/?nat=fr"); //Appel de l'API
 
            dynamic repositories = JsonConvert.DeserializeObject(streamTask); //déconcaténation du résultat de l'API
 
            Personnes.Prenom = repositories.results[0].name.first; //Récupération du Prénom
            Personnes.Nom = repositories.results[0].name.last; //Récupération du Nom
            Personnes.Telephone = repositories.results[0].phone; //Récupération du Téléphone
            Personnes.Service = repositories.results[0].id.name; //Récupération du Service
            //Personnes.Date_Entree = CurrentValue;//Récupération de la Date D'arrivée
            //Console.WriteLine(Personnes.Date_Entree);
            string Date_Entree_Def = ""+ Personnes.Date_Entree.Year + "/" + Personnes.Date_Entree.Month + "/" + Personnes.Date_Entree.Day +""; //Mets dans le bon format la date sous forme de AAAA/MM/JJ
            Personnes.Telephone = new string((from Carac in Personnes.Telephone where char.IsWhiteSpace(Carac) || char.IsLetterOrDigit(Carac) select Carac).ToArray()); //Supression des "-"
 
            try
            {
                // Requête SQL
                string Query = "INSERT INTO Users (Prenom, Nom, Telephone, Service, Date_Arrivee) VALUES ('" + Personnes.Prenom + "','" + Personnes.Nom + "','" + Personnes.Telephone + "','" + Personnes.Service + "','" + Date_Entree_Def + "');";
 
                MySqlCommand Cmd = new MySqlCommand(Query, connection); 
                MySqlDataReader Reader;
                connection.Open();
                Reader = Cmd.ExecuteReader();
                while (Reader.Read())
                {
                    Console.WriteLine(Reader.GetString(0));
                }
                // Fermeture de la connexion
                connection.Close();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
    }
}