public static int NouvelID(IDBWrapper dbWrapper, string table)
        {
            table = table.ToUpper();

            dbWrapper.Sql = "select valeur from clef where nom_table=@table";
            dbWrapper.AddParameter("table", table);

            int retour;

            IDataReader rd = dbWrapper.ExecuteReader();

            if (rd.Read()) {
                retour = rd.GetInt16(0) + 1;
                rd.Close();
                dbWrapper.Sql = "update clef set valeur=@valeur where nom_table=@table";
                dbWrapper.AddParameter("valeur", retour);
                dbWrapper.AddParameter("table", table);
                dbWrapper.ExecuteNonQuery();
            }
            else {
                retour = 1;
                rd.Close();
                dbWrapper.Sql = "insert into clef(nom_table,valeur) values(@table,@valeur)";
                dbWrapper.AddParameter("valeur", retour);
                dbWrapper.AddParameter("table", table);
                dbWrapper.ExecuteNonQuery();
            }
            return retour;
        }
        public override int Ajouter(IDBWrapper db, IAgenceDTO dto)
        {
            ProprietaireDTO proprietaire = (ProprietaireDTO)dto;
            int idPersonne = base.Ajouter(db,proprietaire);
            db.Sql = "INSERT INTO PROPRIETAIRE (ADRESSE,PERSONNEID) " +
                                "VALUES (@adresse,@idPersonne)";

            db.AddParameter("idPersonne", idPersonne);
            db.AddParameter("adresse", proprietaire.Adresse);
            db.ExecuteNonQuery();

            return idPersonne;
        }
        public override int Ajouter(IDBWrapper db, IAgenceDTO dto)
        {
            ProspectDTO prospect = (ProspectDTO)dto;
            int idPersonne = base.Ajouter(db, prospect);
            db.Sql = "INSERT INTO PROSPECT (DATECONTACT,PERSONNEID) " +
                                "VALUES (@adresse,@idPersonne)";

            db.AddParameter("idPersonne", idPersonne);
            db.AddParameter("adresse", prospect.DateContact);
            db.ExecuteNonQuery();

            return idPersonne;
        }
        public override int Ajouter(IDBWrapper db, IAgenceDTO dto)
        {
            AgentDTO agent = (AgentDTO)dto;
            int idPersonne = base.Ajouter(db, agent);
            db.Sql = "INSERT INTO AGENT (PERSONNEID,LOGIN,MOTDEPASSE) " +
                                "VALUES (@idPersonne,@login,@motdepasse)";

            db.AddParameter("idPersonne", idPersonne);
            db.AddParameter("login", agent.Login);
            db.AddParameter("motdepasse", agent.MotDePasse);
            db.ExecuteNonQuery();

            return idPersonne;
        }
        public override int Ajouter(IDBWrapper db, IAgenceDTO dto)
        {
            PersonneDTO personne = (PersonneDTO)dto;
            int idPersonne = DBUtils.NouvelID(db, "Personne");
            db.Sql = "INSERT INTO PERSONNE (ID,NOM,PRENOM,TELEPHONE) " +
                                "VALUES (@ID,@NOM,@PRENOM,@TELEPHONE)";

            db.AddParameter("id", idPersonne);
            db.AddParameter("nom", personne.Nom);
            db.AddParameter("prenom", personne.Prenom);
            db.AddParameter("telephone", personne.Telephone);
            db.ExecuteNonQuery();

            return idPersonne;
        }
        public override int Ajouter(IDBWrapper db, IAgenceDTO dto)
        {
            AnnonceDTO annonce = (AnnonceDTO)dto;
            int idAnnonce = DBUtils.NouvelID(db, "Annonce");
            db.Sql = "INSERT INTO ANNONCE (ID,TITRE,TEXTE,BIENID,PRIX) " +
                                "VALUES (@id,@titre,@texte,@idBien,@prix)";
            db.AddParameter("id", idAnnonce);
            db.AddParameter("titre", annonce.Titre);
            db.AddParameter("texte", annonce.Texte);
            db.AddParameter("idBien", annonce.Bien.IdBien);
            db.AddParameter("prix", annonce.Prix);
            db.ExecuteNonQuery();

            return idAnnonce;
        }
 public override void Supprimer(IDBWrapper db, int idProprietaire)
 {
     db.Sql = "DELETE FROM PROPRIETAIRE WHERE PERSONNEID=@idProprietaire";
     db.AddParameter("idProprietaire", idProprietaire);
     db.ExecuteNonQuery();
     base.Supprimer(db, idProprietaire);
 }
 public override void Supprimer(IDBWrapper db, int idAgent)
 {
     db.Sql = "DELETE FROM AGENT WHERE PERSONNEID=@idAgent";
     db.AddParameter("idAgent", idAgent);
     db.ExecuteNonQuery();
     base.Supprimer(db, idAgent);
 }
        public override int Ajouter(IDBWrapper db, IAgenceDTO dto)
        {
            AgendaDTO agenda = (AgendaDTO)dto;
            int idAgenda = DBUtils.NouvelID(db, "Agenda");
            db.Sql = "INSERT INTO AGENDA (ID,ANNONCEID,PROSPECTPERSONNEID,AGENTPERSONNEID,DATEENTREE,TITRE,DESCRIPTION) " +
                                "VALUES (@id,@idAnnonce,@idProspect,@idAgent,@dateEntree,@titre,@description)";

            db.AddParameter("id", idAgenda);
            if (agenda.Annonce != null)
                db.AddParameter("idAnnonce", agenda.Annonce.IdAnnonce);
            else
                db.AddParameter("idAnnonce", null);
            if (agenda.Prospect != null)
                db.AddParameter("idProspect", agenda.Prospect.IdPersonne);
            else
                db.AddParameter("idProspect", null);
            db.AddParameter("idAgent", agenda.Agent.IdPersonne);
            db.AddParameter("dateEntree", agenda.Date);
            db.AddParameter("titre", agenda.Titre);
            db.AddParameter("description", agenda.Description);
            db.ExecuteNonQuery();

            return idAgenda;
        }
        public override int Ajouter(IDBWrapper db, IAgenceDTO dto)
        {
            BienDTO bien = (BienDTO)dto;
            int idBien = DBUtils.NouvelID(db, "Bien");
            db.Sql = "INSERT INTO BIEN (ID,TYPEBIENID,TITRE,DESCRIPTION,ADRESSE,LATITUDE,LONGITUDE) " +
                                "VALUES (" +
                                "@IDBIEN,@TYPEBIENID,@TITRE,@DESCRIPTION,@ADRESSE,@LATITUDE,@LONGITUDE)";

            db.AddParameter("idBien", idBien);
            db.AddParameter("typebienID", bien.IdTypeBien);
            db.AddParameter("titre", bien.Titre);
            db.AddParameter("description", bien.Description);
            db.AddParameter("adresse", bien.Adresse);
            db.AddParameter("latitude", bien.Latitude);
            db.AddParameter("longitude", bien.Longitude);
            db.ExecuteNonQuery();

            return idBien;
        }
 public override void Supprimer(IDBWrapper db, int idPersonne)
 {
     db.Sql = "DELETE FROM PERSONNE WHERE ID=@idPersonne";
     db.AddParameter("idPersonne", idPersonne);
     db.ExecuteNonQuery();
 }
 public override void Supprimer(IDBWrapper db, int idAnnonce)
 {
     db.Sql = "DELETE FROM ANNONCE WHERE ID=@idAnnonce";
     db.AddParameter("idAnnonce", idAnnonce);
     db.ExecuteNonQuery();
 }
 public override void Supprimer(IDBWrapper db, int idAgenda)
 {
     db.Sql = "DELETE FROM AGENDA WHERE ID=@idAgenda";
     db.AddParameter("idAgenda", idAgenda);
     db.ExecuteNonQuery();
 }
 public override void Supprimer(IDBWrapper db, int idBien)
 {
     db.Sql = "DELETE FROM BIEN WHERE ID=@idBien";
     db.AddParameter("idBien", idBien);
     db.ExecuteNonQuery();
 }