//Exportation de l'ensemble des éléments d'un plan public void Exporter_Budget() { DateTime d1 = DateTime.Now; //Création de l'application Excel app = new Microsoft.Office.Interop.Excel.Application(); app.DisplayAlerts = false; Console.Ajouter("Export des budgets..."); Texte_Resultat = "EXPORTATION Budget" + "\r\n"; //Exportation des objectifs Console.Ajouter("->Export des objectifs..."); Texte_Resultat += "### Export des objectifs ###" + "\r\n"; ExportBudget(); Console.Ajouter("...Fin Export Plan"); DateTime d2 = DateTime.Now; Texte_Resultat += "### Fin de l'export ###" + "\r\n"; Texte_Resultat += "Temps : " + string.Format("{0:ss}", d2 - d1) + "\r\n"; Afficher_Resultat(); //Fermeture de l'application Excel app.Quit(); app = null; }
void Initialiser() { //Vérification environnement local if (!(System.IO.Directory.Exists(Chemin))) { System.IO.Directory.CreateDirectory(Chemin); } if (!(System.IO.Directory.Exists(Chemin + "\\Fichiers"))) { System.IO.Directory.CreateDirectory(Chemin + "\\Fichiers"); } if (!(System.IO.Directory.Exists(Chemin + "\\Export"))) { System.IO.Directory.CreateDirectory(Chemin + "\\Export"); } //Supprimer le fichier de traçage des requêtes if (System.IO.File.Exists(Chemin + "\\log.txt")) { System.IO.File.Delete(Chemin + "\\log.txt"); } //Supprimer les fichiers d'édition foreach (string f in System.IO.Directory.GetFiles(Chemin + "\\Fichiers", "F*.*")) { try { System.IO.File.Delete(f); } catch { } } //Création de la console permetant de suivre les opérations Afficher_Console(); Console.Ajouter("Démarrage du chargement..."); DateTime d1 = DateTime.Now; //Initialisation des fonctionnalités if (!Initialiser_Connexion()) { return; /*Fin dû à un pb de connexion*/ } Afficher_Menu(); Acces.clsMAIN.Afficher_Accueil(); lblNom.Text = user_appli.NomPrenom; lblCodeUser.Text = user_appli.Code; //Afficher_GestionObjet(); //Affichage du temps de chargement DateTime d2 = DateTime.Now; Console.Ajouter("Temps de chargement : " + (d2 - d1).Milliseconds + " ms"); timer_Connexion.Start(); //Sauvegarde automatique //timer2.Start(); //Acces.Sauvegarde_local(); //Ouverture des éléments par commande externe timer_Ouverture.Start(); Agrandir(); }
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(); } }
void Repositionner() { //Placement des objectifs/sous-objectifs List <Lien> ListeLienSysteme = Acces.Remplir_ListeLienSYSTEME(Acces.type_OBJECTIF); //On balaye la liste des Objectifs //Si un lien existe, //on recherche la position des 2 objectifs //On déplace le fils sous le parent foreach (Lien p in ListeLienSysteme) { TreeNode[] Nod1 = lstObjectif.Nodes.Find(p.Element1_ID.ToString(), true); TreeNode[] Nod2 = lstObjectif.Nodes.Find(p.Element2_ID.ToString(), true); if (Nod1.Count() > 0 && Nod2.Count() > 0) { TreeNode parent = Nod1[0]; TreeNode Element = Nod2[0]; Element.Tag = p; //Element.Remove(); lstObjectif.Nodes.Remove(Element); parent.Nodes.Add(Element); } else { Console.Ajouter("[Move Objectif] Erreur Lien" + p.ID); } } }
public void Initialiser() { OptActive.Checked = true; lblEntete.Text = "MDL"; lblRef.Text = modele_doc.Code.Replace("MDL-", ""); lblLibelle.Text = modele_doc.Libelle; OptActive.Checked = modele_doc.Actif; Console.Ajouter(modele_doc.Type_Modele.ToString()); //Modèle if (modele_doc.Type_Modele == Type_Modele.MODELE) { tabControl2.SelectedIndex = 0; Afficher_ListeTypeModele(); lblFichierBase.Text = modele_doc.FichierBase; } //Zone if (modele_doc.Type_Modele == Type_Modele.ZONE) { tabControl2.SelectedIndex = 1; lblConditionZone.Text = modele_doc.Condition; } //Ligne if (modele_doc.Type_Modele == Type_Modele.LIGNE) { tabControl2.SelectedIndex = 2; lblConditionZone.Text = modele_doc.Condition; } //Colonne if (modele_doc.Type_Modele == Type_Modele.COLONNE) { tabControl2.SelectedIndex = 3; lblTexteColonne.Text = modele_doc.Contenu; lblTexteColonne.Text = modele_doc.Contenu; lblPct.Value = modele_doc.Taille; lblBordureColonne.Text = modele_doc.Bordure; Afficher_ListeAlignement(); } //Protection des zones non utilisées for (int i = 0; i < tabControl2.TabPages.Count; i++) { if (tabControl2.TabPages[i] != tabControl2.SelectedTab) { for (int j = 0; j < tabControl2.TabPages[i].Controls.Count; j++) { tabControl2.TabPages[i].Controls[j].Enabled = false; } } } }
void Editer_Noeud(TreeNode nd) { tree.SelectedNode = nd; nd.EnsureVisible(); nd.ForeColor = Color.Blue; Application.DoEvents(); pb.PerformStep(); edition.type_element = nd.Name.Split('-')[0]; edition.id_element = int.Parse(nd.Name.Split('-')[1]); edition.id_parent = 0; edition.ordre = 0; if (edition.type_element == Acces.type_ACTION.Code) { TreeNode parent = nd.Parent; string type_parent = parent.Name.Split('-')[0]; int id_parent = int.Parse(parent.Name.Split('-')[1]); if (type_parent == Acces.type_ACTION.Code) { edition.id_parent = id_parent; edition.ordre = parent.Nodes[nd.Name].Index + 1; //MessageBox.Show(edition.ordre.ToString()); } } nd.Tag = edition.Editer_Fiche(); FileInfo f = new FileInfo(nd.Tag.ToString() + ".pdf"); Liste.Add(f); Console.Ajouter(nd.Tag.ToString()); foreach (TreeNode nds in nd.Nodes) { Editer_Noeud(nds); } }
void Afficher_ListePeriode() { lstPeriode.Nodes.Clear(); listeBudgetPeriode = (List <Budget_Periode>)Acces.Remplir_ListeElement(Acces.type_BUDGET_PERIODE, ""); Console.Ajouter("BUDGET_PERIODE : " + listeBudgetPeriode.Count); foreach (Budget_Periode bp in listeBudgetPeriode) { TreeNode nd = new TreeNode(); nd.Name = bp.ID.ToString(); nd.Tag = bp; nd.Text = bp.Libelle; lstPeriode.Nodes.Add(nd); } }
void Afficher_ListeEnveloppe() { lstEnveloppe.Nodes.Clear(); listeBudgetEnveloppe = (List <Budget_Enveloppe>)Acces.Remplir_ListeElement(Acces.type_BUDGET_ENVELOPPE, ""); Console.Ajouter("Budget_Enveloppe : " + listeBudgetEnveloppe.Count); foreach (Budget_Enveloppe bp in listeBudgetEnveloppe) { TreeNode nd = new TreeNode(); nd.Name = bp.ID.ToString(); nd.Tag = bp; nd.Text = bp.Libelle; lstEnveloppe.Nodes.Add(nd); } }
/// <summary> /// Repositionnement des actions dans une hiérarchie /// </summary> void Repositionner(List <int> liste) { //Placement des objectifs/sous-objectifs List <Lien> ListeLienSysteme = Acces.Remplir_ListeLienSYSTEME(Acces.type_ACTION); //On balaye la liste des actions //Si un lien existe, //on recherche la position des 2 actions //On déplace le fils sous le parent foreach (Lien p in ListeLienSysteme) { TreeNode[] Nod1 = lstAction.Nodes.Find(p.Element1_ID.ToString(), true); TreeNode[] Nod2 = lstAction.Nodes.Find(p.Element2_ID.ToString(), true); if (Nod1.Count() > 0 && Nod2.Count() > 0) { TreeNode parent = Nod1[0]; TreeNode Element = Nod2[0]; if (parent.Name == Element.Name) { break; } Element.Tag = p; //Element.Remove(); lstAction.Nodes.Remove(Element); parent.Nodes.Add(Element); } else { if (p.Element0_ID > 0) { /*Console.Ajouter("[Move Action] Erreur Lien" + p.ID);*/ } else { if (p.Element0_Code.Length > 0) { Console.Ajouter("[Erreur Lien Action] Id : " + p.ID); } } } } }
/// <summary> /// Repositionne les éléments selon la hiérarchie définie /// </summary> void Repositionner(Plan plan) { int nbObjectif = 0; int nbAction = 0; int nbOpération = 0; int nbIndicateur = 0; //Placement des objectifs/sous-objectifs listeLien = Acces.Remplir_ListeLien_Niv0(Acces.type_PLAN, plan.ID.ToString()); listeLien.Sort(); //On balaye la liste des éléments //On crée l'élément sous le parent foreach (var p in listeLien) { //Recherche du parent string Parent = Acces.Trouver_TableValeur(p.Element1_Type).Code + "-" + p.Element1_ID.ToString(); TreeNode NodParent = NodG; if (!(Parent == NodG.Name)) { TreeNode[] NodP = NodG.Nodes.Find(Parent, true); if (NodP.Length > 0) { NodParent = NodP[0]; } } string Enfant = Acces.Trouver_TableValeur(p.Element2_Type).Code + "-" + p.Element2_ID.ToString(); if (!(Enfant is null)) { Boolean Ajoute = true; //Création de l'élément enfant TreeNode NodEnfant = new TreeNode() { Name = Enfant, Tag = p, }; if (p.Element2_Type == Acces.type_OBJECTIF.ID) //if (p.Element2_Type == Acces.Trouver_TableValeur_ID("TYPE_ELEMENT", p.Element1_Type.ToString())) { Objectif q = (Objectif)Acces.Trouver_Element(Acces.type_OBJECTIF, p.Element2_ID); if (!(q is null)) { NodEnfant.Text = q.Libelle; NodEnfant.Name = Acces.type_OBJECTIF.Code + "-" + q.ID; NodEnfant.ImageIndex = Donner_ImageIndex(Acces.type_OBJECTIF, p.Element2_ID); NodEnfant.ToolTipText = q.Code; nbObjectif++; } else { Console.Ajouter("[Objectif non trouvé] ID:" + p.Element2_ID + " Code :" + p.Element2_Code); } } if (p.Element2_Type == Acces.type_ACTION.ID) { PATIO.CAPA.Classes.Action q = (PATIO.CAPA.Classes.Action)Acces.Trouver_Element(Acces.type_ACTION, p.Element2_ID); if (!(q is null)) { NodEnfant.Text = q.Libelle; NodEnfant.Name = Acces.type_ACTION.Code + "-" + q.ID; NodEnfant.ImageIndex = Donner_ImageIndex(Acces.type_ACTION, p.Element2_ID); if (q.ActionPhare) { NodEnfant.ImageIndex = imgs[PosImageActionPhare].Id; } NodEnfant.ToolTipText = q.Code + " [" + p.ordre + "]"; if (q.TypeAction == TypeAction.ACTION) { nbAction++; } if (q.TypeAction == TypeAction.OPERATION) { nbOpération++; } } else { Console.Ajouter("[Action non trouvée] ID:" + p.Element2_ID + " CODE:" + p.Element2_Code); } } if (p.Element2_Type == Acces.type_INDICATEUR.ID) { Indicateur q = (Indicateur)Acces.Trouver_Element(Acces.type_INDICATEUR, p.Element2_ID); if (!(q is null)) { NodEnfant.Text = q.Libelle; NodEnfant.Name = Acces.type_INDICATEUR.Code + "-" + q.ID; NodEnfant.ImageIndex = Donner_ImageIndex(Acces.type_INDICATEUR, p.Element2_ID); NodEnfant.ToolTipText = q.Code; nbIndicateur++; } else { Console.Ajouter("[Indicateur non trouvée] ID:" + p.Element2_ID + " CODE:" + p.Element2_Code); } }
private void treeSelectionBudget_AfterSelect(object sender, TreeViewEventArgs e) { TreeNode nd = treeSelectionBudget.SelectedNode; DateMin_Select = ""; DateMax_Select = ""; listeCompte_Select = new List <int>(); if (nd.Parent == null) { return; } //Noeud sans parent if (nd.Nodes.Count > 0) { return; } //Noeud avec enfant nd.ForeColor = (nd.ForeColor == Color.Black ? Color.Red : Color.Black); TreeNode NdBudget = nd.Parent.Parent; Console.Ajouter("Nb nodes=" + nd.Parent.Nodes.Count.ToString()); foreach (TreeNode ndd in NdBudget.Nodes[0].Nodes) { Console.Ajouter("->" + ndd.Text); if (ndd.ForeColor == Color.Red) { Budget_Ligne bl = (Budget_Ligne)ndd.Tag; foreach (int k in bl.ListeCompte) { listeCompte_Select.Add(k); } } } foreach (TreeNode ndd in NdBudget.Nodes[1].Nodes) { Console.Ajouter("->" + ndd.Text + " : " + ndd.ForeColor.ToString()); if (ndd.ForeColor == Color.Red) { Budget_Version bv = (Budget_Version)ndd.Tag; Console.Ajouter("ID=" + bv.ID.ToString()); Console.Ajouter("DateMin : " + (DateMin_Select.CompareTo(bv.DateDeb).ToString())); if (DateMin_Select.Length == 0) { DateMin_Select = bv.DateDeb; } else { if (DateMin_Select.CompareTo(bv.DateDeb) < 0) { Console.Ajouter("Date_Min" + bv.DateDeb); DateMin_Select = bv.DateDeb; } } if (DateMax_Select.Length == 0) { DateMax_Select = bv.DateFin; } else { if (DateMax_Select.CompareTo(bv.DateFin) < 0) { Console.Ajouter("Date_Max=" + bv.DateFin); DateMax_Select = bv.DateFin; } } } } Afficher_ListeOperation(); Afficher_ListeVirement(); }
void Importer() { OpenFileDialog f = new OpenFileDialog(); f.Title = "Choix d'un fichier d'import"; f.Filter = "*.xml|*.xml"; f.InitialDirectory = Acces.CheminTemp + "\\Export"; if (f.ShowDialog() == DialogResult.OK) { string[] liste = f.FileName.Split('\\'); string nom = liste[liste.Length - 1].Replace("tv_", "").Replace(".xml", ""); Console.Ajouter("### IMPORT TV ###"); if (MessageBox.Show("Vous allez importer les données pour la table " + nom + ". Continuez ?", "Confirmation", MessageBoxButtons.YesNo) == DialogResult.No) { return; } string fichier = f.FileName; listeTV = Acces.ListeTableValeur; DataSet Sn = new DataSet(); Sn.ReadXml(fichier); int n = 0; foreach (DataRow r in Sn.Tables["dataset"].Rows) { table_valeur tv = new table_valeur(); //tv.ID = int.Parse(r["id"].ToString()); tv.Nom = r["nom"].ToString(); tv.Code = r["code"].ToString(); tv.Valeur = r["valeur"].ToString(); tv.Valeur6PO = r["valeur_6po"].ToString(); bool ok = false; foreach (table_valeur tv1 in listeTV) { if (tv1.Nom.ToUpper() == tv.Nom.ToUpper() && tv1.Code.ToUpper() == tv.Code.ToUpper()) { ok = true; break; } } if (!ok) { tv.Acces = Acces; tv.Ajouter(); Console.Ajouter("Ajout TV : " + tv.Code); n++; } else { Console.Ajouter("Valeur existante : " + tv.Code); } } if (lstTable.SelectedIndex < 0) { Afficher_Liste(); } Afficher_ListeTV(); MessageBox.Show("Import terminé. " + n + " ajout(s)"); } }
void Extraire() { string command = ""; string CheminImport = Chemin + "/Import"; lst.Items.Add("Extraction REST"); lst.Items.Add("->Répertoire de destination " + CheminImport); Console.Ajouter("Extraction des fichiers XML REST"); if (!Directory.Exists(CheminImport)) { Directory.CreateDirectory(CheminImport); } //Création du fichier de cookies lst.Items.Add("->Connexion au site REST"); Connexion(); if (optPlan.Checked) { //Extraction des données lst.Items.Add("->Extraction des plans"); command = "curl -o " + CheminImport + "/plans.xml --cookie " + CheminImport + "/loginCookies https://ars-hdf.xwiki.com/xwiki/rest/wikis/plansactions/spaces/Plan/spaces/pages"; ExecuteCommandSync(command); //Traitement des données lst.Items.Add("----------------------"); lst.Items.Add("->Plan"); Traitement_Plan(); } if (optObjectif.Checked) { //Extraction des données lst.Items.Add("->Extraction des objectifs"); command = "curl -o " + CheminImport + "/objectifs.xml --cookie " + CheminImport + "/loginCookies https://ars-hdf.xwiki.com/xwiki/rest/wikis/plansactions/spaces/Objectif/spaces/pages"; ExecuteCommandSync(command); //Traitement des données lst.Items.Add("----------------------"); lst.Items.Add("->Objectif"); Traitement_Objectif(); } if (optAction.Checked) { //Extraction des données lst.Items.Add("->Extraction des actions"); command = "curl -o " + CheminImport + "/actions.xml --cookie " + CheminImport + "/loginCookies https://ars-hdf.xwiki.com/xwiki/rest/wikis/plansactions/spaces/Action/spaces/pages"; ExecuteCommandSync(command); //Traitement des données lst.Items.Add("----------------------"); lst.Items.Add("->Action"); Traitement_Action(); } if (optOperation.Checked) { //Extraction des données lst.Items.Add("->Extraction des opérations"); command = "curl -o " + CheminImport + "/operations.xml --cookie " + CheminImport + "/loginCookies https://ars-hdf.xwiki.com/xwiki/rest/wikis/plansactions/spaces/Projet/spaces/pages"; ExecuteCommandSync(command); //Traitement ds données lst.Items.Add("----------------------"); lst.Items.Add("->Opération"); Traitement_Opération(); } if (optIndicateur.Checked) { //Extraction des données lst.Items.Add("->Extraction des indicateurs"); command = "curl -o " + CheminImport + "/indicateurs.xml --cookie " + CheminImport + "/loginCookies https://ars-hdf.xwiki.com/xwiki/rest/wikis/plansactions/spaces/Indicateur/spaces/pages"; ExecuteCommandSync(command); //Traitement des données lst.Items.Add("----------------------"); lst.Items.Add("->Indicateur"); Traitement_Indicateur(); } lst.Items.Add("Traitement des fichiers extraits"); Console.Ajouter("Traitement des fichiers extraits"); }
void Stat_S01() //Nombre d'éléments par plan { string fichier = Chemin + "\\Fichiers\\F_S01.html"; //Requête string sql; sql = "SELECT distinct Element0_ID, Element2_Type, Element2_ID from lien"; sql += " WHERE Element0_Code <>'SYSTEME'"; DataSet Sn = Acces.cls.ContenuRequete(sql); if (Acces.cls.NbLignes == 0) { goto Suite; } List <LigneS01> Liste = new List <LigneS01>(); //Ligne total LigneS01 lg = new LigneS01(); lg.id = 0; lg.libelle = "zzTOTAL"; lg.nb_obj = 0; lg.nb_action = 0; lg.nb_ope = 0; lg.nb_indic = 0; Liste.Add(lg); foreach (DataRow r in Sn.Tables["dataset"].Rows) { int id_plan = int.Parse(r[0].ToString()); TypeElement id_type = Acces.Trouver_Type_Element(int.Parse(r[1].ToString())); int id_element = int.Parse(r[2].ToString()); //Détermine l'incrément affecté int i_obj = 0; int i_action = 0; int i_ope = 0; int i_indic = 0; if (id_type == Acces.type_OBJECTIF) { i_obj = 1; } if (id_type == Acces.type_ACTION) //Cas d'une action { PATIO.CAPA.Classes.Action action = (PATIO.CAPA.Classes.Action)Acces.Trouver_Element(id_type, id_element); try { if (action.TypeAction == TypeAction.ACTION) { i_action = 1; } if (action.TypeAction == TypeAction.OPERATION) { i_ope = 1; } } catch { /*MessageBox.Show(r[2].ToString()); */ } } if (id_type == Acces.type_INDICATEUR) { i_indic = 1; } //Intégration si la ligne (du plan) existe Boolean ok = false; for (int i = 0; i < Liste.Count; i++) { LigneS01 l = Liste[i]; if (id_plan.ToString() == l.id.ToString()) { ok = true; l.nb_obj += i_obj; l.nb_action += i_action; l.nb_ope += i_ope; l.nb_indic += i_indic; break; } } if (!ok) //Création de la ligne { Plan plan = (Plan)Acces.Trouver_Element(Acces.type_PLAN, id_plan); LigneS01 l = new LigneS01(); l.id = plan.ID; l.libelle = plan.Libelle; l.nb_obj += i_obj; l.nb_action += i_action; l.nb_ope += i_ope; l.nb_indic += i_indic; Liste.Add(l); } //Incrémentation sur la ligne total LigneS01 lt = Liste[0]; lt.nb_obj += i_obj; lt.nb_action += i_action; lt.nb_ope += i_ope; lt.nb_indic += i_indic; Console.Ajouter(lt.nb_obj.ToString()); } //Affichage du résultat string Texte = "<table width=\"100%\" border=\"1\">"; Texte += "<tr>"; Texte += "<td>Plan</td>"; Texte += "<td>Nb objectifs</td>"; Texte += "<td>Nb actions</td>"; Texte += "<td>Nb opérations</td>"; Texte += "<td>Nb indicateurs</td>"; Texte += "</tr>\n"; foreach (LigneS01 l in Liste) { Texte += "<tr>"; Texte += "<td>" + l.libelle + "</td>"; Texte += "<td>" + l.nb_obj + "</td>"; Texte += "<td>" + l.nb_action + "</td>"; Texte += "<td>" + l.nb_ope + "</td>"; Texte += "<td>" + l.nb_indic + "</td>"; Texte += "</tr>\n"; } Texte += "</table>"; //Ecriture du fichier System.IO.File.WriteAllText(fichier, Texte); Suite :; //Affichag du fichier wb.Navigate(fichier); }