//Singleton
 //Elle crée un objet instance de la classe AccesBD
 //Si l'objet n'existe pas puis retroune la ref a l'objet
 public static AccesBD GetInstance()
 {
     if (uneInstance == null)
     {
         uneInstance = new AccesBD();
     }
     return(uneInstance);
 }
 //Singleton
 //Elle crée un objet instance de la classe AccesBD
 //Si l'objet n'existe pas puis retroune la ref a l'objet
 public static AccesBD GetInstance()
 {
     if (uneInstance==null)
     {
         uneInstance = new AccesBD();
     }
     return uneInstance;
 }
        public List <Habilititation> InsertHabilitationParEntreprise(Habilititation uneHabilitation)
        {
            SqlConnection         objConnexion = AccesBD.GetInstance().GetSqlConnexion();
            List <Habilititation> maListe      = new List <Habilititation>();

            SqlCommand maCommande = new SqlCommand("sp_InsertHabilitation", objConnexion);

            maCommande.CommandType = CommandType.StoredProcedure;
            maCommande.Parameters.Add("idEntreprise", SqlDbType.Int);
            maCommande.Parameters[0].Value = uneHabilitation.IdEntrepriseHabiliter;
            maCommande.Parameters.Add("idTypeControle", SqlDbType.Int);
            maCommande.Parameters[1].Value = uneHabilitation.IdTypeControlHabiliter;
            objConnexion.Open();
            maCommande.ExecuteNonQuery();
            AccesBD.GetInstance().CloseConnexion();
            return(maListe);
        }
        public List <Entreprise> SelectEntrepriseHabiliterPourUnTypeControle(int idTypeControle)
        {
            SqlConnection     objConnexion = AccesBD.GetInstance().GetSqlConnexion();
            List <Entreprise> maListe      = new List <Entreprise>();
            SqlCommand        maCommande   = new SqlCommand("sp_SelectEntrepriseHabiliterPourUnTypeControle", objConnexion);

            maCommande.CommandType = CommandType.StoredProcedure;
            maCommande.Parameters.Add("idTypeControle", SqlDbType.Int);
            maCommande.Parameters[0].Value = idTypeControle;
            objConnexion.Open();
            SqlDataReader lecteur = maCommande.ExecuteReader();

            while (lecteur.Read())
            {
                Entreprise uneEntreprise = new Entreprise((int)lecteur["ID_ENTREPRISE"], (string)lecteur["NOM_ENTREPRISE"]);
                maListe.Add(uneEntreprise);
            }
            AccesBD.GetInstance().CloseConnexion();
            return(maListe);
        }
        public List <TypeControle> SelectTypeControlePrevuePourUneZoneStockage(int idZoneStockage)
        {
            SqlConnection       objConnexion = AccesBD.GetInstance().GetSqlConnexion();
            List <TypeControle> maListe      = new List <TypeControle>();
            SqlCommand          maCommande   = new SqlCommand("sp_SelectTypePrevuePourZoneStockage", objConnexion);

            maCommande.CommandType = CommandType.StoredProcedure;
            maCommande.Parameters.Add("idZoneStockage", SqlDbType.Int);
            maCommande.Parameters[0].Value = idZoneStockage;
            objConnexion.Open();
            SqlDataReader lecteur = maCommande.ExecuteReader();

            while (lecteur.Read())
            {
                TypeControle unTypeControle = new TypeControle((int)lecteur["ID_TYPE_CONTROLE"], (string)lecteur["TYPE_CONTROLE"]);
                maListe.Add(unTypeControle);
            }
            AccesBD.GetInstance().CloseConnexion();
            return(maListe);
        }
        public List <Entreprise> GetEntreprise(int idEntreprise)
        {
            SqlConnection     objConnexion = AccesBD.GetInstance().GetSqlConnexion();
            SqlCommand        maCommande   = new SqlCommand("sp_AficherLesEntreprises", objConnexion);
            List <Entreprise> maListe      = new List <Entreprise>();

            maCommande.CommandType = System.Data.CommandType.StoredProcedure;
            maCommande.Parameters.Add("idEntrprise", SqlDbType.Int);
            maCommande.Parameters[0].Value = idEntreprise;
            SqlDataReader monLecteur;

            objConnexion.Open();
            monLecteur = maCommande.ExecuteReader();
            while (monLecteur.Read())
            {
                Entreprise uneEntreprise = new Entreprise((int)monLecteur["ID_ENTREPRISE"], (string)monLecteur["NOM_ENTREPRISE"]);
                maListe.Add(uneEntreprise);
            }
            AccesBD.GetInstance().CloseConnexion();
            return(maListe);
        }
        public List <TypeControle> GetTypeControle(int idTypeControl)
        {
            SqlConnection       objConnexion = AccesBD.GetInstance().GetSqlConnexion();
            SqlCommand          maCommande   = new SqlCommand("sp_AfficherTypeControl", objConnexion);
            List <TypeControle> maListe      = new List <TypeControle>();

            maCommande.CommandType = System.Data.CommandType.StoredProcedure;
            maCommande.Parameters.Add("idTypeControl", SqlDbType.Int);
            maCommande.Parameters[0].Value = idTypeControl;
            SqlDataReader monLecteur;

            objConnexion.Open();
            monLecteur = maCommande.ExecuteReader();
            while (monLecteur.Read())
            {
                TypeControle unTypeControl = new TypeControle((int)monLecteur["ID_TYPE_CONTROL"], (string)monLecteur["TYPE_CONTROL"]);
                maListe.Add(unTypeControl);
            }
            AccesBD.GetInstance().CloseConnexion();
            return(maListe);
        }
        public List <Controle> InsertControle(Controle monControle)
        {
            SqlConnection   objConnexion = AccesBD.GetInstance().GetSqlConnexion();
            List <Controle> maListe      = new List <Controle>();
            SqlCommand      maCommande   = new SqlCommand("sp_CreerControle", objConnexion);

            maCommande.CommandType = CommandType.StoredProcedure;
            maCommande.Parameters.Add("idZoneStockage", SqlDbType.Int);
            maCommande.Parameters[0].Value = monControle.IdZoneStockage;
            maCommande.Parameters.Add("idEntreprise", SqlDbType.Int);
            maCommande.Parameters[1].Value = monControle.IdEntreprise;
            maCommande.Parameters.Add("idTypeControle", SqlDbType.Int);
            maCommande.Parameters[2].Value = monControle.IdTypeControle;
            maCommande.Parameters.Add("dateControle", SqlDbType.Date);
            maCommande.Parameters[3].Value = monControle.DateControle;
            maCommande.Parameters.Add("resumeControle", SqlDbType.VarChar);
            maCommande.Parameters[4].Value = monControle.ResumeControle;
            maCommande.Parameters.Add("montantHtControle", SqlDbType.Float);
            maCommande.Parameters[5].Value = monControle.MontantHTControle;
            objConnexion.Open();
            maCommande.ExecuteNonQuery();
            AccesBD.GetInstance().CloseConnexion();
            return(maListe);
        }