예제 #1
0
파일: Form1.cs 프로젝트: Morrays/CreaBloc2
        /// <summary>
        /// Enregistrement du bloc
        /// Permet la gération et sauvvegarde
        /// du fichier xrb, fait appèle aux
        /// fonction présente dans Blocs.cs
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button3_Click(object sender, EventArgs e)
        {
            if (MessageBox.Show("Voulez-vous vraiment sauvegarder", " Creabloc ", MessageBoxButtons.YesNo, MessageBoxIcon.None, MessageBoxDefaultButton.Button1) == DialogResult.Yes)
            {
                int ok = 0;

                //Emplacement fichier temporaire
                string path = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\TempBloc\newBloc.xrb";

                //Emplacement fichier sauvegarder
                string newPath = Properties.Settings.Default.blocFinale.ToString();

                //Emplacemenf fichier composant
                string composant = Properties.Settings.Default.blocUnitaire.ToString();



                string   requeteType = "select BlocType from TypeBloc where Désignation ='" + cbType.Text.ToString() + "'";
                string[] typeA       = ElemBlocs.requeteSelect(requeteType);
                string   type        = ElemBlocs.ConvertStringArrayToString(typeA);

                string   requeteGroupe = "select FonctionBloc from GroupesBornes where DescBloc ='" + cbGroupe.Text.ToString() + "'";
                string[] grpA          = ElemBlocs.requeteSelect(requeteGroupe);
                string   grp           = ElemBlocs.ConvertStringArrayToString(grpA);

                int      compteurFichier = 0;
                string[] files           = Directory.GetFiles(newPath);
                string   startW          = newPath + @"\EB" + type + grp;
                for (int i = 0; i < files.Length; i++)
                {
                    if (files[i].StartsWith(startW))
                    {
                        compteurFichier++;
                    }
                }

                compteurFichier++;
                string nomRef       = "EB" + type + grp;
                string nomReference = nomRef + String.Format("{0:0000}", +compteurFichier);
                string descrition   = textBox2.Text.ToString();
                string commentaire  = textBox3.Text.ToString();

                if (cbType.Text == "" || cbGroupe.Text == "" || cbCoffret.Text == "")
                {
                    MessageBox.Show("Une valeur n'est pas choisi");
                }
                else
                {
                    foreach (DataGridViewRow row in DataBloc.Rows)
                    {
                        if (row.Cells[1].Value == null)
                        {
                            ok++;
                        }
                    }

                    if (ok > 0)
                    {
                        MessageBox.Show("Une ligne possède un composant vide !", "Erreur");
                    }
                    else if (ok == 0)
                    {
                        for (int i = 0; i < DataBloc.Rows.Count; i++)
                        {
                            var valeur = DataBloc.Rows[i].Cells[1].Value;

                            int    nbrRows         = DataBloc.Rows.Count;
                            string composantSelect = composant + @"\" + valeur + ".xrb";
                            if (!File.Exists(composantSelect))
                            {
                                MessageBox.Show("Dossier selectionner ne comporte pas de fichier composant", "Erreur");
                            }
                            else
                            {
                                var    RepereValue = DataBloc.Rows[i].Cells[2].Value;
                                string unRepere    = "" + RepereValue;

                                if (i == 0)
                                {
                                    ElemBlocs.addFirstBloc(path, composantSelect, nbrRows, unRepere);
                                }
                                else
                                {
                                    ElemBlocs.addBlock(path, composantSelect, unRepere, i);
                                }
                            }
                        }
                        string finalPath = newPath + @"\" + nomReference + ".xrb";

                        //copie le fichier temp dans le bon dossier


                        File.Copy(path, finalPath);

                        if (MessageBox.Show("Sauvegarde effectuée", "CreaBloc", MessageBoxButtons.OK) == DialogResult.OK)
                        {
                            foreach (DataGridViewRow row in DataBloc.Rows)
                            {
                                if (row.Cells[2].Value == null)
                                {
                                    string reqs = "Insert Into elemBloc (refBloc, [position], refComposant, repère) Values ('" + nomReference + "', '" + row.Cells[0].Value.ToString() + "', '" + row.Cells[1].Value.ToString() + "', '')";
                                    ElemBlocs.requeteInsert(reqs);
                                }
                                else
                                {
                                    string req = "Insert Into elemBloc (refBloc, [position], refComposant, repère) Values ('" + nomReference + "', '" + row.Cells[0].Value.ToString() + "', '" + row.Cells[1].Value.ToString() + "', '" + row.Cells[2].Value.ToString() + "')";
                                    ElemBlocs.requeteInsert(req);
                                }
                            }

                            double largeurBloc = ((ElemBlocs.LargeurBloc(finalPath) * 3.0) / 100.0);



                            File.Delete(path);
                            ElemBlocs.addTexteNoChangement(path);

                            //requete pour avoir BlocBorne
                            string   requeteGrpBorne = "select BlocBorne from GroupesBornes where DescBloc ='" + cbGroupe.Text.ToString() + "';";
                            string[] grpBorne        = ElemBlocs.requeteSelect(requeteGrpBorne);
                            string   blocBorne       = ElemBlocs.ConvertStringArrayToString(grpBorne);

                            //requete final
                            if (textBox2.Text == null)
                            {
                                string sqlD = "Insert Into Generalites (Clé, description, commentaire, Largeur, Coffret, GroupeBorne) Values ('" + nomReference + "','', '" + commentaire.Replace("'", "''") + "', '" + largeurBloc + "', '" + cbCoffret.Text.ToString() + "', '" + blocBorne + "');";
                                ElemBlocs.requeteInsert(sqlD);
                            }
                            else if (textBox3.Text == null)
                            {
                                string sqlC = "Insert Into Generalites (Clé, description, commentaire, Largeur, Coffret, GroupeBorne) Values ('" + nomReference + "','" + descrition.Replace("'", "''") + "', '', '" + largeurBloc + "', '" + cbCoffret.Text.ToString() + "', '" + blocBorne + "');";
                                ElemBlocs.requeteInsert(sqlC);
                            }
                            else if (textBox2.Text == null && textBox3.Text == null)
                            {
                                string sqlDC = "Insert Into Generalites (Clé, description, commentaire, Largeur, Coffret, GroupeBorne) Values ('" + nomReference + "','', '', '" + largeurBloc + "', '" + cbCoffret.Text.ToString() + "', '" + blocBorne + "');";
                                ElemBlocs.requeteInsert(sqlDC);
                            }
                            else
                            {
                                string sql = "Insert Into Generalites (Clé, description, commentaire, Largeur, Coffret, GroupeBorne) Values ('" + nomReference + "','" + descrition.Replace("'", "''") + "', '" + commentaire.Replace("'", "''") + "', '" + largeurBloc + "', '" + cbCoffret.Text.ToString() + "', '" + blocBorne + "');";
                                ElemBlocs.requeteInsert(sql);
                            }

                            //Réinitialisation
                            DataBloc.Rows.Clear();
                            cbType.Text    = null;
                            cbGroupe.Text  = null;
                            cbCoffret.Text = null;
                            textBox2.Text  = null;
                            textBox3.Text  = null;
                        }
                    }
                }
            }
        }
예제 #2
0
파일: Form1.cs 프로젝트: Morrays/CreaBloc2
        /// <summary>
        /// Trigger Boutton Ouvrir Fichier
        /// Ouvre un pop-up de selection de fichier
        /// afin de chargé un bloc deja enregistrer
        /// et de pouvoir le modifier
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button6_Click(object sender, EventArgs e)
        {
            DialogResult result = openFileDialog1.ShowDialog();             // Ouvre la selection de fichier

            if (result == DialogResult.OK)
            {
                //récupère le chemin du fichier selectionné
                string   file  = openFileDialog1.FileName;
                string[] file1 = file.Split('\\');
                file = file1[7].ToString();
                file = file.Replace(".xrb", "");
                DataBloc.Rows.Clear();

                //Remplissage des champs
                //Recupère la valeur de DescBloc en fonction bloc choisi
                string   query    = "select DescBloc From GroupesBornes, Generalites where Generalites.GroupeBorne = GroupesBornes.BlocBorne and Generalites.Clé ='" + file + "';";
                string[] grpBorne = ElemBlocs.requeteSelect(query);
                //Change le texte du combobox
                cbGroupe.Text = grpBorne[0].ToString();

                //Recupère la valeur de DescBloc en fonction du bloc choisi
                string   query2  = "Select Coffret from Generalites where Clé='" + file + "';";
                string[] coffret = ElemBlocs.requeteSelect(query2);
                cbCoffret.Text = coffret[0].ToString();

                //Recupère la valeur de description en fonction du bloc choisi
                string   query3 = "Select description from Generalites where Clé ='" + file + "';";
                string[] desc   = ElemBlocs.requeteSelect(query3);
                textBox2.Text = desc[0].ToString();

                //Recupère la valeur de commentaire en fonction du bloc choisi
                string   query4 = "Select commentaire from Generalites where Clé ='" + file + "';";
                string[] com    = ElemBlocs.requeteSelect(query4);
                textBox3.Text = com[0].ToString();


                string   type   = file.Substring(2, 3);
                string   query5 = "select Désignation From TypeBloc where BlocType ='" + type + "';";
                string[] typeA  = ElemBlocs.requeteSelect(query5);
                cbType.Text = typeA[0].ToString();


                string requete = "select * from elemBloc where refBloc ='" + file + "'";

                DataTable     resultdt = ElemBlocs.requeteSelectMult(requete);
                List <string> rows     = new List <string>();

                foreach (DataRow dataRow in resultdt.Rows)
                {
                    rows.Add(string.Join(";", dataRow.ItemArray.Select(item => item.ToString())));
                }
                string[] resultat = rows.ToArray();


                //Remplisage des ligne dans le datagridview
                int compteur = 0;
                foreach (string s in resultat)
                {
                    DataBloc.Rows.Add();
                    string res = resultat[compteur];
                    DataBloc.Rows[compteur].Cells[1].Value = resultat[compteur].Split(';')[1];
                    DataBloc.Rows[compteur].Cells[2].Value = resultat[compteur].Split(';')[3];


                    compteur++;
                }
            }
        }