Esempio n. 1
0
        /// <summary>
        /// Fonction qui ajoute les blocs unitaire supplémentaire (pas le premier bloc)
        /// </summary>
        /// <param name="pathTemp">Emplecement fichier temporaire</param>
        /// <param name="selectedBloc">Emplacement du bloc qui va être ajouté </param>
        /// <param name="repereChoix">Repère choisie par l'utilisateur (3eme colone)</param>
        /// <param name="numSymbole">Ajoute le numéro du bloc ( exemple: si 3eme bloc alors numSymbole = 2 )</param>
        public static void addBlock(string pathTemp, string selectedBloc, string repereChoix, int numSymbole)
        {
            int largeur = ElemBlocs.LargeurBloc(pathTemp);

            using (System.IO.StreamWriter block = new System.IO.StreamWriter(pathTemp, true, System.Text.Encoding.GetEncoding(1252)))
            {
                string[] blocPlusLargeur = ElemBlocs.addLargeur(largeur, selectedBloc, repereChoix, numSymbole);

                foreach (string i in blocPlusLargeur)
                {
                    block.WriteLine(i);
                }
            }
        }
Esempio n. 2
0
        /// <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;
                        }
                    }
                }
            }
        }