private void button1_Click(object sender, EventArgs e) { Module monMod = BDDExterne.GetModule(listBoxModuleDisponible.SelectedValue.ToString()); int newNumMod = BDDExterne.getMaxNumModuleByDevis(monDevis.devId.ToString()); newNumMod++; foreach (Parametre item in monMod.modParametres) { string query = @"INSERT INTO public.precise(id, id_parametre, id_devis, valeur, num_module) VALUES ('" + Guid.NewGuid().ToString() + "' , '" + item.parId.ToString() + "', '" + monDevis.devId.ToString() + "',0, " + newNumMod + ")"; if (BDDExterne.Insert(query) == false) { MessageBox.Show("echec insert"); } } dataModuleDevis.Clear(); foreach (Module item in BDDExterne.GetModulesByDevis(monDevis.devId.ToString())) { dataModuleDevis.Add(new ComboxItem() { Value = item.modId, Text = item.modLibele }); } listBoxModuleDevis.DataSource = null; listBoxModuleDevis.Items.Clear(); listBoxModuleDevis.DisplayMember = "Text"; listBoxModuleDevis.ValueMember = "Value"; listBoxModuleDevis.DataSource = dataModuleDevis; // ---- monDevis = BDDExterne.GetDevis(monDevis.devId.ToString()); labelNomClient.Text = monDevis.devClient.cliNom + " " + monDevis.devClient.cliPrenom; labelDevisDateCreation.Text = monDevis.devDateCreation.ToShortDateString(); foreach (Module item in BDDExterne.GetAllModules()) { data.Add(new ComboxItem() { Value = item.modId, Text = item.modLibele }); } listBoxModuleDisponible.DisplayMember = "Text"; listBoxModuleDisponible.ValueMember = "Value"; listBoxModuleDisponible.DataSource = data; foreach (Module item in BDDExterne.GetModulesByDevis(monDevis.devId.ToString())) { dataModuleDevis.Add(new ComboxItem() { Value = item.modId, Text = item.modLibele }); } listBoxModuleDevis.DisplayMember = "Text"; listBoxModuleDevis.ValueMember = "Value"; listBoxModuleDevis.DataSource = dataModuleDevis; }
public static List <Module> GetModulesByDevis(string id) { NpgsqlConnection conn; conn = new NpgsqlConnection(chaineConnection); conn.Open(); List <Module> ListeModules = new List <Module>(); string query = @"SELECT distinct num_module, module.mod_id FROM precise inner join parametre on precise.id_parametre = parametre.par_id inner join module on module.mod_id = parametre.mod_id where id_devis = '" + id + "'"; Debug.WriteLine(query); NpgsqlCommand command = new NpgsqlCommand(query, conn); NpgsqlDataReader dr = command.ExecuteReader(); while (dr.Read()) { Module module = BDDExterne.GetModule(dr[1].ToString()); module.num_module = Int32.Parse(dr[0].ToString()); ListeModules.Add(module); } conn.Close(); conn.Open(); List <string> ListeId = new List <string>(); query = @"select distinct num_module from precise where id_devis = '" + id + "'"; command = new NpgsqlCommand(query, conn); dr = command.ExecuteReader(); while (dr.Read()) { ListeId.Add(dr[0].ToString()); } conn.Close(); foreach (string item in ListeId) { //ListeModules[i] NpgsqlConnection conn2; conn2 = new NpgsqlConnection(chaineConnection); conn2.Open(); List <Module> ListeModules2 = new List <Module>(); string query2 = @"SELECT par_id, valeur,num_module,id FROM precise inner join parametre on precise.id_parametre = parametre.par_id inner join module on module.mod_id = parametre.mod_id where id_devis = '" + id + "' and num_module = " + item; NpgsqlCommand command2 = new NpgsqlCommand(query2, conn2); NpgsqlDataReader dr2 = command2.ExecuteReader(); while (dr2.Read()) { foreach (Module item2 in ListeModules) { foreach (Parametre monParametre in item2.modParametres) { if (monParametre.parId == Guid.Parse(dr2[0].ToString())) { if (item2.num_module == Int32.Parse(dr2[2].ToString())) { monParametre.parValeur = dr2[1].ToString(); monParametre.parIdValeur = Guid.Parse(dr2[3].ToString()); } } } } } conn2.Close(); } return(ListeModules); }