using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using static System.Windows.Forms.LinkLabel;
using MySql.Data.MySqlClient;

namespace prj_wfrm_centreCall_tickets
{
    public partial class frmMenu : Form
    {
        public frmMenu()
        {
            InitializeComponent();
        }



        // Gestion des Naf
        private void menuNafAfficherTous_Click(object sender, EventArgs e)
        {
            DataTable resultat = new DataTable();

            string sql = "select NAF_CODE, NAF_INTITULE from tb_naf;";

            resultat = Global.connexion(sql);

            int i = 0;

            foreach (DataRow valeur in resultat.Rows)
            {
                tab.naf[i].code = int.Parse(valeur["NAF_CODE"].ToString());
                tab.naf[i].intitule = valeur["NAF_INTITULE"].ToString();

                //compteur nombre de lignes
                i++;
            }
            tab.nbNaf = i;
            //création de la fenêtre demandée
            frmNafAfficherTous laFenetre = new frmNafAfficherTous();
            //cette nouvelle fenêtre est une fenêtre fille du menu MDI
            laFenetre.MdiParent = this;
            //ouverture de la fenêtre en plein écran
            laFenetre.WindowState = FormWindowState.Maximized;
            laFenetre.Show();
        }

        private void mnuFichierQuitter_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }

        private void menuCentreAfficherTous_Click(object sender, EventArgs e)
        {
            DataTable resultat = new DataTable();

            string sql = "select CNT_NUM, CNT_VILLE from tb_centre;";

            resultat = Global.connexion(sql);

            int i = 0;

            foreach (DataRow valeur in resultat.Rows)
            {
                tab.centre[i].numero = int.Parse(valeur["CNT_NUM"].ToString());
                tab.centre[i].ville = valeur["CNT_VILLE"].ToString();

                //Compteur nombre de lignes
                i++;
            }
            tab.nbCentres = i;
            //création de la fenêtre demandée
            frmCentreAfficherTous laFenetre = new frmCentreAfficherTous();
            //cette nouvelle fenêtre est une fenêtre fille du menu MDI
            laFenetre.MdiParent = this;
            //ouverture de la fenêtre en plein écran
            laFenetre.WindowState = FormWindowState.Maximized;
            laFenetre.Show();
        }

        private void frmMenu_Load(object sender, EventArgs e)
        {

        }

        private void tousToolStripMenuItem_Click(object sender, EventArgs e)
        {
            DataTable resultat = new DataTable();

            string sql = "SELECT tck_num,tck_date,cln_raison_social,tck_objet,tck_date_cloture,tck_nb_heure,tec_nom,tec_prenom FROM tb_ticket INNER JOIN tb_technicien ON tck_tec_num = tec_num\r\nINNER JOIN tb_client on tck_cln_num = cln_num where tck_cloture = 1;";

            resultat = Global.connexion(sql);

            int i = 0;

            foreach (DataRow valeur in resultat.Rows)
            {
                tab.ticket[i].numero = int.Parse(valeur["tck_num"].ToString());
                tab.ticket[i].dateTicket = DateTime.Parse(valeur["tck_date"].ToString());
                tab.client[i].raisonSociale = (valeur["cln_raison_social"].ToString());
                tab.ticket[i].objetTicket = (valeur["tck_objet"].ToString());
                tab.ticket[i].dateCloture = DateTime.Parse(valeur["tck_date_cloture"].ToString());
                tab.ticket[i].nbHeures = float.Parse(valeur["tck_nb_heure"].ToString());
                tab.technicien[i].nomTech = (valeur["tec_nom"].ToString());
                tab.technicien[i].prenomTech = (valeur["tec_prenom"].ToString());

                //Compteur nombre de lignes
                i++;
            }
            tab.nbTickets = i;
            //création de la fenêtre demandée
            Frm_ticket_cloture laFenetre = new Frm_ticket_cloture();
            //cette nouvelle fenêtre est une fenêtre fille du menu MDI
            laFenetre.MdiParent = this;
            //ouverture de la fenêtre en plein écran
            laFenetre.WindowState = FormWindowState.Maximized;
            laFenetre.Show();
        }

        private void tousToolStripMenuItem1_Click(object sender, EventArgs e)
        {
            DataTable resultat = new DataTable();

            string sql = "SELECT CLN_NUM,CLN_RAISON_SOCIAL,CLN_MONTANT_CONTRAT,CLN_MONTANT_TICKET,(CLN_MONTANT_TICKET - CLN_MONTANT_CONTRAT)\r\nFROM tb_client\r\nWHERE CLN_MONTANT_TICKET > CLN_MONTANT_CONTRAT\r\nORDER BY CLN_NUM;";
            
            resultat = Global.connexion(sql);

            int i = 0;

            foreach (DataRow valeur in resultat.Rows)
            {
                tab.client[i].numero = int.Parse(valeur["CLN_NUM"].ToString());
                tab.client[i].raisonSociale = (valeur["CLN_RAISON_SOCIAL"].ToString());
                tab.client[i].montantContrat = Single.Parse(valeur["CLN_MONTANT_CONTRAT"].ToString());
                tab.client[i].montantTickets = Single.Parse(valeur["CLN_MONTANT_TICKET"].ToString());
                tab.client[i].montantDepassement = tab.client[i].montantTickets - tab.client[i].montantContrat;

                //Compteur nombre de lignes
                i++;
            }
            tab.nbClients = i;
            //création de la fenêtre demandée
            Consultation_contrat laFenetre = new Consultation_contrat();
            //cette nouvelle fenêtre est une fenêtre fille du menu MDI
            laFenetre.MdiParent = this;
            //ouverture de la fenêtre en plein écran
            laFenetre.WindowState = FormWindowState.Maximized;
            laFenetre.Show();
        }

        private void tousToolStripMenuItem2_Click(object sender, EventArgs e)
        {
            DataTable resultat = new DataTable();

            string sql = "SELECT CLN_NUM, CLN_RAISON_SOCIAL, MAX(CLN_MONTANT_CONTRAT), CLN_MONTANT_TICKET\r\nFROM tb_client;";

            resultat = Global.connexion(sql);

            int i = 0;

            foreach (DataRow valeur in resultat.Rows)
            {
                tab.client[i].numero = int.Parse(valeur["CLN_NUM"].ToString());
                tab.client[i].raisonSociale = (valeur["CLN_RAISON_SOCIAL"].ToString());
                tab.client[i].montantContrat = Single.Parse(valeur["MAX(CLN_MONTANT_CONTRAT)"].ToString());
                tab.client[i].montantTickets = Single.Parse(valeur["CLN_MONTANT_TICKET"].ToString());

                //Compteur nombre de lignes
                i++;
            }
            tab.nbClients = i;
            //création de la fenêtre demandée
            Durée_maxi_contrat laFenetre = new Durée_maxi_contrat();
            //cette nouvelle fenêtre est une fenêtre fille du menu MDI
            laFenetre.MdiParent = this;
            //ouverture de la fenêtre en plein écran
            laFenetre.WindowState = FormWindowState.Maximized;
            laFenetre.Show();
        }

        private void tousToolStripMenuItem3_Click(object sender, EventArgs e)
        {
            DataTable resultat = new DataTable();

            string sql = "SELECT cln_num, cln_raison_social,cln_date_contrat,cln_duree_mois\r\nfrom tb_client";

            resultat = Global.connexion(sql);

            int i = 0;

            foreach (DataRow valeur in resultat.Rows)
            {
                tab.client[i].numero = int.Parse(valeur["CLN_NUM"].ToString());
                tab.client[i].raisonSociale = (valeur["CLN_RAISON_SOCIAL"].ToString());
                tab.client[i].dateContrat = DateTime.Parse(valeur["CLN_DATE_CONTRAT"].ToString());
                tab.client[i].duree = int.Parse(valeur["CLN_DUREE_MOIS"].ToString());
                tab.client[i].dateFinContrat = DateTime.Parse(valeur["cln_date_contrat"].ToString()).AddMonths(int.Parse(valeur["cln_duree_mois"].ToString()));
                
                


                //Compteur nombre de lignes
                i++;
            }
            tab.nbClients = i;
            //création de la fenêtre demandée
            Contrat_expiré laFenetre = new Contrat_expiré();
            //cette nouvelle fenêtre est une fenêtre fille du menu MDI
            laFenetre.MdiParent = this;
            //ouverture de la fenêtre en plein écran
            laFenetre.WindowState = FormWindowState.Maximized;
            laFenetre.Show();
        }

        private void afficherToolStripMenuItem3_Click(object sender, EventArgs e)
        {
            DataTable resultat = new DataTable();

            string sql = "SELECT cln_raison_social from tb_client;";

            resultat = Global.connexion(sql);

            int i = 0;

            foreach (DataRow valeur in resultat.Rows)
            {
                tab.client[i].raisonSociale = (valeur["CLN_RAISON_SOCIAL"].ToString());



                //Compteur nombre de lignes
                i++;
            }
            tab.nbClients = i;
            //création de la fenêtre demandée
            Tck_part_client laFenetre = new Tck_part_client();
            //cette nouvelle fenêtre est une fenêtre fille du menu MDI
            laFenetre.MdiParent = this;
            //ouverture de la fenêtre en plein écran
            laFenetre.WindowState = FormWindowState.Maximized;
            laFenetre.Show();
        }
    }
    
}

        
