Example #1
0
        // INSERT & Update
        public static void InsertOrAddNewAdresse(AdresseDAO adresse)
        {
            // Inserer adresse dans la bdd
            var query =
                "INSERT INTO public.adresse (\"idAdresse\",\"pays\",\"region\",\"ville\",\"codePostal\", \"adresseNom\" ) values (:idAdresse,:pays,:region,:ville,:codePostal,:adresseNom) ON CONFLICT ON CONSTRAINT pk_adresse DO UPDATE SET  \"idAdresse\"=:idAdresse,  \"pays\"=:pays,  \"region\"=:region,  \"ville\"=:ville,  \"codePostal\"=:codePostal,  \"adresseNom\"=:adresseNom where adresse.\"idAdresse\"=:idAdresse ";
            var cmd = new NpgsqlCommand(query, DALconnection.OpenConnection());

            cmd.Parameters.AddWithValue("idAdresse", adresse.IdAdresse);
            cmd.Parameters.AddWithValue("pays", adresse.Pays);
            cmd.Parameters.AddWithValue("region", adresse.Region);
            cmd.Parameters.AddWithValue("ville", adresse.Ville);
            cmd.Parameters.AddWithValue("codePostal", adresse.CodePostal);
            cmd.Parameters.AddWithValue("adresseNom", adresse.Adresse);
            cmd.ExecuteNonQuery();

            foreach (var elemPersonneId in adresse.ListePersonneId)
            {
                query =
                    "INSERT INTO public.adressepersonne values (:idAdresse,:idPersonne) ON CONFLICT  DO NOTHING";
                cmd = new NpgsqlCommand(query, DALconnection.OpenConnection());
                cmd.Parameters.AddWithValue("idAdresse", adresse.IdAdresse);
                cmd.Parameters.AddWithValue("idPersonne", elemPersonneId);
                cmd.ExecuteNonQuery();
            }
        }
Example #2
0
        // SELECT
        public static AdresseDAO SelectAdresseById(string id)
        {
            var adresseDao = new AdresseDAO();
            // Selectionne l'adresse a partir de l'id
            var query =
                "SELECT * FROM public.adresse a where a.\"idAdresse\"=:idAdresseParam order by a.\"idAdresse\" desc";
            var cmd = new NpgsqlCommand(query, DALconnection.OpenConnection());

            cmd.Parameters.AddWithValue("idAdresseParam", id);

            var reader = cmd.ExecuteReader();

            while (reader.Read())
            {
                // récup les paramètres principaux
                var idAdresse = (string)reader["idAdresse"];

                var pays       = Convert.IsDBNull(reader["pays"]) ? null : (string)reader["pays"];
                var region     = Convert.IsDBNull(reader["region"]) ? null : (string)reader["region"];
                var ville      = Convert.IsDBNull(reader["ville"]) ? null : (string)reader["ville"];
                var codePostal = Convert.IsDBNull(reader["codePostal"]) ? null : (string)reader["codePostal"];
                var adresse    = Convert.IsDBNull(reader["adresseNom"]) ? null : (string)reader["adresseNom"];
                adresseDao = new AdresseDAO(idAdresse, pays, region, ville, codePostal, adresse,
                                            new List <string>());
            }

            reader.Close();

            // si nous avons une id adresse, alors nous avons une adresse présente dans la bdd, dans le cas contraire
            // on retourne un DAO vide
            if (adresseDao.IdAdresse != null)
            {
                adresseDao.ListePersonneId = SelectPersonneInAdressesById(id);
                return(adresseDao);
            }

            return(new AdresseDAO());
        }
Example #3
0
 public AdresseController(AperoBoxApi_dbContext context, IMapper mapper)
 {
     this.context    = context ?? throw new ArgumentNullException(nameof(context));
     this.adresseDAO = new AdresseDAO(context);
     this.mapper     = mapper;
 }