Utiliser un DateTimePicker dans une classe
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:
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:
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);
}
}
}
} |