/// <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; } } } } }
/// <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++; } } }