Example #1
0
        void Choisir_FichierBase()
        {
            treeStructure.Nodes.Clear();
            if (treeModele.SelectedNode == null)
            {
                return;
            }
            if (treeModele.SelectedNode.Nodes.Count > 0)
            {
                MessageBox.Show("Choisir un modèle"); return;
            }
            int ID = int.Parse(treeModele.SelectedNode.Name.Split('-')[1]);

            ModeleDoc md = (ModeleDoc)Acces.Trouver_Element(Acces.type_MODELEDOC, ID);

            OpenFileDialog f = new OpenFileDialog();

            f.Title            = "Choix du fichier de base";
            f.InitialDirectory = Acces.CheminBase + "\\Modeles";
            f.Filter           = "*.docx|*.docx";

            if (f.ShowDialog() == DialogResult.OK)
            {
                lblFichierBase.Text = f.FileName.Replace(Acces.CheminBase + "\\Modeles\\", "");
                md.Acces            = Acces;
                md.FichierBase      = f.FileName.Replace(Acces.CheminBase + "\\Modeles\\", "");
                Acces.Enregistrer(Acces.type_MODELEDOC, md);
            }
        }
Example #2
0
        void Ajouter_Modele()
        {
            if (treeModele.SelectedNode == null)
            {
                return;
            }
            int Parent_ID = int.Parse(treeModele.SelectedNode.Name.Split('-')[1]);

            Console.Ajouter("Parent_ID = " + Parent_ID);

            ModeleDoc mdl = new ModeleDoc();

            mdl.Type_Modele = Type_Modele.MODELE;
            mdl.Parent_ID   = Parent_ID;
            mdl.Code        = "MDL-";
            mdl.Ordre       = treeModele.SelectedNode.Nodes.Count;

            frmModeleDoc f = new frmModeleDoc();

            f.Acces       = Acces;
            f.Creation    = true;
            f.modele_doc  = mdl;
            f.Parent_ID   = Parent_ID;
            f.type_modele = Type_Modele.MODELE;
            f.Initialiser();

            if (f.ShowDialog() == DialogResult.OK)
            {
                Afficher_ListeModele();
            }
        }
Example #3
0
        void AjouterColonne()
        {
            if (treeModele.SelectedNode == null)
            {
                MessageBox.Show("Il faut sélectionner un modèle."); return;
            }
            if (treeModele.SelectedNode.Nodes.Count > 0)
            {
                MessageBox.Show("Il faut sélectionner un modèle."); return;
            }
            if (treeStructure.SelectedNode == null)
            {
                MessageBox.Show("Il faut sélectionner une ligne."); return;
            }

            string TypeElement = treeStructure.SelectedNode.Name.Split('-')[0];
            int    ID          = int.Parse(treeStructure.SelectedNode.Name.Split('-')[1]);

            if (TypeElement != "LIGNE")
            {
                MessageBox.Show("Il faut sélectionner une ligne.");
            }

            ModeleDoc md_parent = (ModeleDoc)Acces.Trouver_Element(Acces.type_MODELEDOC, ID);

            ModeleDoc mdl = new ModeleDoc();

            mdl.Code        = "MDL-";
            mdl.Parent_ID   = ID;
            mdl.Type_Modele = Type_Modele.COLONNE;
            mdl.Ordre       = treeStructure.Nodes.Count;
            mdl.Code        = md_parent.Code;

            frmModeleDoc f = new frmModeleDoc();

            f.Acces       = Acces;
            f.Creation    = true;
            f.modele_doc  = mdl;
            f.type_modele = Type_Modele.COLONNE;
            f.Console     = Console;
            f.Initialiser();

            if (f.ShowDialog() == DialogResult.OK)
            {
                Afficher_Modele();
                TreeNode[] lNd = treeStructure.Nodes.Find("COLONNE-" + f.modele_doc.ID.ToString(), true);
                if (lNd.Length != 0)
                {
                    treeStructure.SelectedNode = lNd[0];
                }
            }
        }
Example #4
0
        void Supprimer_Modele()
        {
            if (treeModele.SelectedNode == null)
            {
                return;
            }
            if (treeModele.SelectedNode.Nodes.Count > 0)
            {
                MessageBox.Show("Il faut supprimer tous les modèles pour ce type"); return;
            }

            int       ID = int.Parse(treeModele.SelectedNode.Name.Split('-')[1]);
            ModeleDoc md = (ModeleDoc)Acces.Trouver_Element(Acces.type_MODELEDOC, ID);

            Acces.Supprimer_Element(Acces.type_MODELEDOC, md);

            Afficher_ListeModele();
        }
Example #5
0
        void Afficher_Tab()
        {
            modele_doc = null;
            if (treeStructure.SelectedNode == null)
            {
                return;
            }
            string type = treeStructure.SelectedNode.Name.Split('-')[0];
            int    ID   = int.Parse(treeStructure.SelectedNode.Name.Split('-')[1]);

            modele_doc = (ModeleDoc)Acces.Trouver_Element(Acces.type_MODELEDOC, ID);

            lblLibelle.Text   = modele_doc.Libelle;
            lblEntete.Text    = "MDL";
            lblRef.Text       = modele_doc.Code.Replace("MDL-", "");
            OptActive.Checked = modele_doc.Actif;

            tabElement.TabPages[0].Enabled = false;
            tabElement.TabPages[1].Enabled = false;
            tabElement.TabPages[2].Enabled = false;
            if (type == "ZONE")
            {
                tabElement.SelectedIndex       = 0;
                tabElement.TabPages[0].Enabled = true;
                lblConditionZone.Text          = modele_doc.Condition;
            }
            if (type == "LIGNE")
            {
                tabElement.SelectedIndex       = 1;
                tabElement.TabPages[1].Enabled = true;
                lblConditionLigne.Text         = modele_doc.Condition;
            }
            if (type == "COLONNE")
            {
                tabElement.SelectedIndex       = 2;
                tabElement.TabPages[2].Enabled = true;
                lblTexteColonne.Text           = modele_doc.Contenu;
                lblBordureColonne.Text         = modele_doc.Bordure;
                lstAlignementColonne.Text      = modele_doc.Alignement.ToString();
                lblPct.Value = modele_doc.Taille;
            }
        }
Example #6
0
        void Modifier_Modele()
        {
            if (treeModele.SelectedNode == null)
            {
                return;
            }
            string Module = treeModele.SelectedNode.Name.Split('-')[0];
            int    ID     = int.Parse(treeModele.SelectedNode.Name.Split('-')[1]);

            ModeleDoc md = (ModeleDoc)Acces.Trouver_Element(Acces.type_MODELEDOC, ID);

            if (Module == "TYPE")
            {
                string Libelle = Microsoft.VisualBasic.Interaction.InputBox("Saisir le libellé du type de modèle",
                                                                            "Création d'un type de modèle", md.Libelle);

                if (Libelle.Length == 0 || md.Libelle == Libelle)
                {
                    return;
                }

                md.Libelle = Libelle;

                Acces.Enregistrer(Acces.type_MODELEDOC, md);
                treeModele.SelectedNode.Text = Libelle;
            }

            if (Module == "MODELE")
            {
                frmModeleDoc f = new frmModeleDoc();
                f.Acces      = Acces;
                f.Creation   = false;
                f.modele_doc = md;
                f.Parent_ID  = md.Parent_ID;
                f.Initialiser();

                if (f.ShowDialog() == DialogResult.OK)
                {
                    treeModele.SelectedNode.Text = f.modele_doc.Libelle;
                }
            }
        }
Example #7
0
        void Ajouter_TypeModele()
        {
            string Libelle = Microsoft.VisualBasic.Interaction.InputBox("Saisir le libellé du type de modèle", "Création d'un type de modèle");

            if (Libelle.Length == 0)
            {
                return;
            }

            ModeleDoc md = new ModeleDoc()
            {
                Acces = Acces,
            };

            md.Libelle     = Libelle;
            md.Type_Modele = Type_Modele.DOSSIER;
            md.Actif       = true;
            md.Ordre       = treeModele.Nodes.Count;

            Acces.Ajouter_Element(Acces.type_MODELEDOC, md);

            Afficher_ListeModele();
        }
Example #8
0
        void Enregistrer()
        {
            if (treeStructure.SelectedNode == null)
            {
                MessageBox.Show("Sélectionner une zone, une ligne ou une colonne", "Erreur", MessageBoxButtons.OK);
                return;
            }

            var Libelle = lblLibelle.Text.Trim();
            var code    = lblEntete.Text + "-" + lblRef.Text.ToUpper();

            if (lblRef.Text.Length == 0)
            {
                MessageBox.Show("Référence obligatoire", "Erreur", MessageBoxButtons.OK);
                return;
            }

            string      type        = treeStructure.SelectedNode.Name.Split('-')[0];
            int         ID          = int.Parse(treeStructure.SelectedNode.Name.Split('-')[1]);
            Type_Modele type_modele = Type_Modele.ZONE;

            modele_doc = (ModeleDoc)Acces.Trouver_Element(Acces.type_MODELEDOC, ID);

            if (type == "ZONE")
            {
                type_modele = Type_Modele.ZONE;
            }
            if (type == "LIGNE")
            {
                type_modele = Type_Modele.LIGNE;
            }
            if (type == "COLONNE")
            {
                type_modele = Type_Modele.COLONNE;
            }

            modele_doc.Acces       = Acces;
            modele_doc.Code        = code;
            modele_doc.Libelle     = Libelle;
            modele_doc.Type_Modele = type_modele;
            modele_doc.Actif       = OptActive.Checked;

            /*if (modele_doc.Type_Modele == Type_Modele.MODELE)
             * {
             *  if (lstTypeModele.SelectedIndex < 0) { MessageBox.Show("Type de modèle ?"); return; }
             *  var p_ID = listeTypeModele[lstTypeModele.SelectedIndex].ID;
             *  modele_doc.Parent_ID = p_ID;
             * }*/

            if (modele_doc.Type_Modele == Type_Modele.ZONE)
            {
                modele_doc.Condition = lblConditionZone.Text;
            }

            if (modele_doc.Type_Modele == Type_Modele.LIGNE)
            {
                modele_doc.Condition = lblConditionLigne.Text;
            }

            if (modele_doc.Type_Modele == Type_Modele.COLONNE)
            {
                modele_doc.Contenu    = lblTexteColonne.Text;
                modele_doc.Taille     = int.Parse(lblPct.Value.ToString());
                modele_doc.Alignement = (Alignement)lstAlignementColonne.SelectedIndex;
                modele_doc.Bordure    = lblBordureColonne.Text;
            }

            Acces.Enregistrer(Acces.type_MODELEDOC, modele_doc);
        }
Example #9
0
        public void Créer_Document(string Fichier_Modele, bool OptionPDF)
        {
            if (Fichier_Modele.Length == 0)
            {
                return;
            }

            int    K       = 0; //Nombre de paragraphes dans le document
            string fichier = Fichier_Modele + ".docx";

            App = new Microsoft.Office.Interop.Word.Application();
            Doc = new Microsoft.Office.Interop.Word.Document();

            //Ouverture du modèle désigné ou celui par défaut
            if (System.IO.File.Exists(CheminTemp + "\\Modeles\\" + fichier))
            {
                App.Documents.Open(CheminTemp + "\\Modeles\\" + fichier);
                Doc = App.ActiveDocument;
            }
            else
            {
                Doc = App.Documents.Add();
                Doc.Activate();
            }

            //Traitement des informations
            foreach (ModeleDoc md_Zone in listeModeleDoc)
            {
                //Traitement d'une zone
                if (md_Zone.Type_Modele == Type_Modele.ZONE)
                {
                    //Traitement des lignes dans la zone
                    foreach (ModeleDoc md_Ligne in listeModeleDoc)
                    {
                        if (md_Ligne.Type_Modele == Type_Modele.LIGNE && md_Ligne.Parent_ID == md_Zone.ID)
                        {
                            Doc.Paragraphs.Add();
                            Microsoft.Office.Interop.Word.Range table = Doc.Paragraphs[K + 1].Range;

                            if (md_Ligne.Contenu == "SAUT_LIGNE")
                            {
                                table.InsertBreak(Microsoft.Office.Interop.Word.WdBreakType.wdPageBreak);
                            }
                            else
                            {
                                List <ModeleDoc> listeColonne = new List <ModeleDoc>();

                                //Détermine le nombre de colonnes composant la ligne
                                foreach (ModeleDoc md_Colonne in listeModeleDoc)
                                {
                                    if (md_Colonne.Type_Modele == Type_Modele.COLONNE && md_Colonne.Parent_ID == md_Ligne.ID)
                                    {
                                        listeColonne.Add(md_Colonne);
                                    }
                                }

                                //Création du tableau
                                Microsoft.Office.Interop.Word.Table Tb = Doc.Tables.Add(table, 1, listeColonne.Count);
                                Tb.PreferredWidth     = 100;
                                Tb.PreferredWidthType = Microsoft.Office.Interop.Word.WdPreferredWidthType.wdPreferredWidthPercent;

                                //Traitement des colonnes dans la ligne
                                for (int col = 0; col < listeColonne.Count; col++)
                                {
                                    ModeleDoc md_Col = listeColonne[col];
                                    Tb.Cell(1, col).Range.Text = md_Col.Contenu;
                                    //Alignement
                                    {
                                        if (md_Col.Alignement == Alignement.Gauche)
                                        {
                                            Tb.Cell(1, col).Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphLeft;
                                        }
                                        if (md_Col.Alignement == Alignement.Centré)
                                        {
                                            Tb.Cell(1, col).Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphCenter;
                                        }
                                        if (md_Col.Alignement == Alignement.Droit)
                                        {
                                            Tb.Cell(1, col).Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphRight;
                                        }
                                        if (md_Col.Alignement == Alignement.Justifié)
                                        {
                                            Tb.Cell(1, col).Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphJustify;
                                        }
                                    }
                                    //Bordures
                                    {
                                        if (md_Col.Bordure.Contains("L"))
                                        {
                                            Tb.Cell(1, col).Range.Borders[Microsoft.Office.Interop.Word.WdBorderType.wdBorderLeft].LineStyle =
                                                Microsoft.Office.Interop.Word.WdLineStyle.wdLineStyleSingle;
                                        }
                                        if (md_Col.Bordure.Contains("R"))
                                        {
                                            Tb.Cell(1, col).Range.Borders[Microsoft.Office.Interop.Word.WdBorderType.wdBorderRight].LineStyle =
                                                Microsoft.Office.Interop.Word.WdLineStyle.wdLineStyleSingle;
                                        }
                                        if (md_Col.Bordure.Contains("H"))
                                        {
                                            Tb.Cell(1, col).Range.Borders[Microsoft.Office.Interop.Word.WdBorderType.wdBorderTop].LineStyle =
                                                Microsoft.Office.Interop.Word.WdLineStyle.wdLineStyleSingle;
                                        }
                                        if (md_Col.Bordure.Contains("B"))
                                        {
                                            Tb.Cell(1, col).Range.Borders[Microsoft.Office.Interop.Word.WdBorderType.wdBorderBottom].LineStyle =
                                                Microsoft.Office.Interop.Word.WdLineStyle.wdLineStyleSingle;
                                        }
                                    }
                                }
                                //Redimensionne les colonnes
                                for (int col = 0; col < listeColonne.Count; col++)
                                {
                                    Tb.Columns[col].PreferredWidthType = Microsoft.Office.Interop.Word.WdPreferredWidthType.wdPreferredWidthPercent;
                                    Tb.Columns[col].PreferredWidth     = float.Parse(listeColonne[col].Taille.ToString());
                                }
                            }
                        }
                    }
                }
            }

            //Sauvegarde du fichier
            {
                string Nom_Doc      = string.Format("{0:yyyyMMddHHmmsssfff}", DateTime.Now);
                string fichier_dest = CheminTemp + "\\" + Nom_Doc + ".docx";
                Doc.SaveAs(fichier_dest);

                if (OptionPDF)
                {
                    string fichier_pdf = CheminTemp + "\\" + Nom_Doc + ".pdf";

                    Doc.ExportAsFixedFormat(fichier_pdf, paramExportFormat, paramOpenAfterExport, paramExportOptimizeFor,
                                            paramExportRange, paramStartPage, paramEndPage, paramExportItem, paramIncludeDocProps,
                                            paramKeepIRM, paramCreateBookmarks, paramDocStructureTags, paramBitmapMissingFonts, paramUseISO19005_1);

                    System.Diagnostics.Process.Start(fichier_pdf); //Ouverture
                    Doc.SaveAs(fichier_dest);
                    App.Quit();
                }
                else
                {
                    App.Visible = true;
                    App.Activate();
                }
            }
        }