// 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(); } }
// 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()); }
public AdresseController(AperoBoxApi_dbContext context, IMapper mapper) { this.context = context ?? throw new ArgumentNullException(nameof(context)); this.adresseDAO = new AdresseDAO(context); this.mapper = mapper; }