Esempio n. 1
0
        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;
        }
Esempio n. 2
0
        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);
        }