Application Bureau DENTEL-GEST 2.0 Beta

L’application DENTEL-GEST dans ça version Beta est publiée avec code source ,vous pouvez trouvez le code complet du projet dans GitHub et plus des vidéos sur notre chaine YouTube.

DENTEL-GEST est une application bureau crée avec Visual Studio comme IDE et SQL Server comme SGBD qui permet la gestion d’un cabinet médicale pour un médecin dentaire.

Elle contient une connexion admin et permet l’enregistrement les patients ,les consultations ,les rendez-vous et la gestion du comptabilité(Caisse).


Base De Données

crée une base de donnée BaseTest et une table Connect avec trois attributs (Id , login , password) avec Id comme clé primaire.

Créer avec SQL SERVER MANAGEMENT les tables ( Patient , Consultation , Agenda , Acte) dans BaseTest.

Créer un diagramme qui permet de relier les différents clés primaires et secondaires.

Interface ADMIN

Créer une simple interface de connexion admin qui s’affiche au premier lieu lors de l’exécution de l’application

    private void btConnexion_Click(object sender, EventArgs e)
        {
            // si les deux champs sont vides
            if(textBox1.Text =="" || textBox2.Text=="")
            {
                MessageBox.Show("Veuillez entrer vos paramètres du connexion");
            }
            try
            {
                var dbfile = Application.StartupPath + "\\BaseTest.mdf";
                SqlConnection connection = new SqlConnection(@"Data Source=(localdb)\MSSQLLocalDB;AttachDbFilename="+dbfile+";Integrated Security=True;Connect Timeout =30");
                string req = "select * from Connect where login like '" + textBox1.Text.Trim() + "' AND password like '" + textBox2.Text.Trim() + "'";
                SqlDataAdapter adapter = new SqlDataAdapter(req, connection);
                DataTable dt = new DataTable();
                adapter.Fill(dt);
                if(dt.Rows.Count ==1)
                {
                    Home acl = new Home();
                    acl.Show();
                    this.Hide();
                }
                else
                {
                    MessageBox.Show("Vérifier vos paramètres du connexion");
                }
            }catch(Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

Interface Principale

Après la création d’interface du connexion on passe à une autre étape ou va créer l’interface principale de l’application qui contient les buttons : Patients – Agenda – Consultations – Caisse – Paramètres

  • Patients : permet d’ajouter ,modifier et supprimer un patient avec ses coordonnées enregistrés et affiche dans une GridView la liste des patients situent dans la base.
  • Agenda : permet d’enregistrer les dates de rendez-vous .
  • Consultations: permet d’enregistrer les consultations et gérer l’ensemble du sciences effectué par un patient on précisons un schéma du dents pour un adulte ou un enfant .
  • Caisse: permet d’enregistrer toutes les opérations du paiement ou le reste a payez.
  • Paramètres: permet d’enregistrer les actes médicales ou autres options liées au fonctionnement d’application.

Ajout un Timer

   public partial class Home : Form
    {
        Timer bg = new Timer();
        UserControl1 patient = new UserControl1();
        UserControl2 agenda = new UserControl2();
        UserControl3 consult = new UserControl3();
        UserControl4 param = new UserControl4();
        public Home()
        {
            InitializeComponent();
            bg.Tick += (s, e) => { label1.Text = DateTime.Now.ToString(); };
            bg.Interval = 500;
            bg.Start();
            
        }
    }

Interface Patients:

On va passez à une autre étape du notre projet et nous allons utilisez dans cette partie un contrôle utilisateur afin d’afficher notre contenu dans le mémé Form principale.

 private void bt_enregistrer_Click(object sender, EventArgs e)
        {
            // Ajout Dans la Base Test
            var dbfile = Application.StartupPath + "\\BaseTest.mdf";
            SqlConnection connection = new SqlConnection(@"Data Source=(localdb)\MSSQLLocalDB;AttachDbFilename=" + dbfile + ";Integrated Security=True;Connect Timeout =30");
            SqlCommand cmd = new SqlCommand("insert into Patient (Nom_Prenom,Adresse,Telephone,Age,Sexe,Type) Values (@Nom_Prenom,@Adresse,@Telephone,@Age,@Sexe,@Type)");

            try
            {
                cmd.Connection = connection;
                cmd.Parameters.AddWithValue("@Nom_Prenom", textBox1.Text);
                cmd.Parameters.AddWithValue("@Adresse", textBox2.Text);
                cmd.Parameters.AddWithValue("@Telephone", textBox3.Text);
                cmd.Parameters.AddWithValue("@Age", textBox4.Text);
                cmd.Parameters.AddWithValue("@Type", textBox5.Text);

                if(radioButton1.Checked)
                {
                    cmd.Parameters.AddWithValue("@Sexe", "Homme");

                }
                else
                {
                    cmd.Parameters.AddWithValue("@Sexe", "Femme");
                }

                connection.Open();
                cmd.ExecuteNonQuery();
                MessageBox.Show("Client ajouté avec sucée");
                connection.Close();


            }
            catch(Exception ex)
            {
                MessageBox.Show(ex.Message);
            }

        }

Interface Agenda

L’interface Agenda permet d’enregistrer un nouveau rendez-vous et permet aussi la recherche d’une date sélectionné.

Cliquez sur le Button Nouveau , une nouvelle Fenêtre s’affiche ,ensuite cliquez sur le nom du patient à droite dans la liste patient et remplir la date et l’heure correspondants

Le click sur le Botton Enregistrer permet d’enregistrer les informations dans notre base de donnée

  private void btnEnregistrer_Click(object sender, EventArgs e)
        {
            // Ajouter les Rendez-Vous a la BaseTest
            var dbfile = Application.StartupPath + "\\BaseTest.mdf";
            SqlConnection connection = new SqlConnection(@"Data Source=(localdb)\MSSQLLocalDB;AttachDbFilename=" + dbfile + ";Integrated Security=True;Connect Timeout =30");
            SqlCommand cmd = new SqlCommand("insert into Agenda(ID_Patient,Nom_Prenom,Date_Rdv,Heure_Rdv) VALUES (@ID_Patient,@Nom_Prenom,@Date_Rdv,@Heure_Rdv)");
            try
            {
                cmd.Connection = connection;

                cmd.Parameters.AddWithValue("@ID_Patient", textBox1.Text);
                cmd.Parameters.AddWithValue("@Nom_Prenom", textBox2.Text);
                cmd.Parameters.AddWithValue("@Date_Rdv", dateTimePicker1.Value);
                cmd.Parameters.AddWithValue("@Heure_Rdv", comboBox1.SelectedItem.ToString());

                connection.Open();
                cmd.ExecuteNonQuery();
                MessageBox.Show("Rendez_Vous enregistré avec succé");
                connection.Close();
            }
            catch(Exception ex)
            {
                MessageBox.Show(ex.Message);
            }

Interface Consultation

Dans cette interface en va enregistrer chaque consultation faite par un patient donné ont appuyant sur le Botton Nouveau une autre fenêtre s’affiche.

Remplir les donnée nécessaires puis cliquez sur le Botton Enregistrer

 private void btenregistrer_Click(object sender, EventArgs e)
        {
            // Enregistrer une consultation dans notre base de donnée

            string numdent = textBox2.Text;
            Button bt = (Button)this.panel6.Controls["Dent" + numdent];
            Image img = bt.Image;
            byte[] arr;
            ImageConverter converter = new ImageConverter();
            arr = (byte[])converter.ConvertTo(img, typeof(byte[]));

            //parametre connexion
            var dbfile = Application.StartupPath + "\\BaseTest.mdf";
            SqlConnection connection = new SqlConnection(@"Data Source=(localdb)\MSSQLLocalDB;AttachDbFilename=" + dbfile + ";Integrated Security=True;Connect Timeout =30");
            SqlCommand cmd2 = new SqlCommand("insert into Consultation(Nom_Prenom,ID_Patient,Date_consul,Num_Dent,Acte,Img_Acte,Trait,Paye,Reste) VALUES(@Nom_Prenom,@ID_Patient,@Date_consul,@Num_Dent,@Acte,@Img_Acte,@Trait,@Paye,@Reste) ");

            try
            {
                cmd2.Connection = connection;
                cmd2.Parameters.AddWithValue("@ID_Patient", textBox7.Text);
                cmd2.Parameters.AddWithValue("@Nom_Prenom", textBox1.Text);
                cmd2.Parameters.AddWithValue("@Num_Dent", textBox2.Text);
                cmd2.Parameters.AddWithValue("@Date_Consul", dateTimePicker1.Value);
                cmd2.Parameters.AddWithValue("@Acte", comboBox1.SelectedItem.ToString());
                cmd2.Parameters.AddWithValue("@Img_Acte", arr);
                cmd2.Parameters.AddWithValue("@Trait", textBox6.Text);
                cmd2.Parameters.AddWithValue("@Paye", SqlDbType.SmallMoney).Value = Decimal.Parse(textBox4.Text);
                cmd2.Parameters.AddWithValue("@Reste", SqlDbType.SmallMoney).Value = Decimal.Parse(textBox5.Text);
                connection.Open();
                cmd2.ExecuteNonQuery();
                MessageBox.Show("Consultation ajoutée avec sucée");
                connection.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            this.Close();
        }

Pour chaque patient enregistre dans notre base on peut afficher une fiche patient , alors la une autre fenêtre que s’affiche

Interface Caisse

Dans cette interface elle affiche le total du montants payes et le total de restes à payer pour vos patients

 private void Caisse_Load(object sender, EventArgs e)
        {
            timer1.Start();
            var dbfile = Application.StartupPath + "\\BaseTest.mdf";
            SqlConnection connection = new SqlConnection(@"Data Source=(localdb)\MSSQLLocalDB;AttachDbFilename=" + dbfile + ";Integrated Security=True;Connect Timeout =30");
            SqlCommand cmd2 = new SqlCommand("select SUM(Paye) FROM Consultation ", connection);
            SqlCommand cmd3 = new SqlCommand("select SUM(Reste) FROM Consultation ", connection);
            try
            {
                connection.Open();
                decimal pay = (decimal)cmd2.ExecuteScalar();
                label3.Text = pay.ToString();
                connection.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            try
            {
                connection.Open();
                decimal res = (decimal)cmd3.ExecuteScalar();
                label4.Text = res.ToString();
                connection.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

Interface Paramètres

Dans cette interface pour la version beta , vous pouvez tout simplement ajouter une nouvelle Acte médicale à votre choix

  private void btEnregistrer_Click(object sender, EventArgs e)
        {
            var dbfile = Application.StartupPath + "\\BaseTest.mdf";
            SqlConnection connection = new SqlConnection(@"Data Source=(localdb)\MSSQLLocalDB;AttachDbFilename=" + dbfile + ";Integrated Security=True;Connect Timeout =30");
            SqlCommand cmd = new SqlCommand("insert into Acte (Nom_Acte,Prix_Acte) VALUES (@Nom_Acte,@Prix_Acte)");  
            try
            {
                cmd.Connection = connection;
                cmd.Parameters.AddWithValue("@Nom_Acte", textBox1.Text);
                cmd.Parameters.AddWithValue("@Prix_Acte", textBox2.Text);
                connection.Open();
                cmd.ExecuteNonQuery();
                MessageBox.Show("Acte ajouté avec succé");
                connection.Close();
            }
            catch(Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

Vous pouvez suivre tous les étapes précédente en pratique dans notre chaine YouTube .

Cette version de l’application DENTEL-GEST est une version Beta , si vous volez récupérez la version PRO n’oubliez pas a nos contactez par émail.

Scroll to Top