private void lstObjectif_DragDrop(object sender, DragEventArgs e) { // Get the tree. TreeView tree = (TreeView)sender; // Get the screen point. System.Drawing.Point pt = new System.Drawing.Point(e.X, e.Y); // Convert to a point in the TreeView's coordinate system. pt = tree.PointToClient(pt); // Get the node underneath the mouse. TreeNode NodDest = tree.GetNodeAt(pt); TreeNode nodSrc = (TreeNode)e.Data.GetData(typeof(TreeNode)); if (NodDest == nodSrc) { return; } //Système anti-bouclage //Prise en compte du changement en base //Recherche d'un lien du NodSrc if (!(nodSrc.Tag is null)) { Lien k = Acces.Donner_LienParent(((Lien)nodSrc.Tag).ID); Acces.Supprimer_Lien(k); } //Création du lien Lien p = new Lien() { Acces = Acces }; p.Element1_Type = Acces.type_OBJECTIF.ID; p.Element1_ID = int.Parse(NodDest.Name); p.Element1_Code = ((Objectif)Acces.Trouver_Element(Acces.type_OBJECTIF, p.Element1_ID)).Code; p.Element2_Type = Acces.type_OBJECTIF.ID; p.Element2_ID = int.Parse(nodSrc.Name); p.Element2_Code = ((Objectif)Acces.Trouver_Element(Acces.type_OBJECTIF, p.Element2_ID)).Code; p.Element0_Type = Acces.type_PLAN.ID; //SYSTEME p.Element0_ID = 1; //SYSTEME p.Element0_Code = "SYSTEME"; //SYSTEME p.ordre = p.Donner_Ordre() + 1; p.Ajouter(); Acces.Ajouter_Lien(p); TreeNode nd = new TreeNode(); nd = (TreeNode)nodSrc.Clone(); NodDest.Nodes.Add(nd); lstObjectif.SelectedNode = nd; TreeNode[] Nods = lstObjectif.Nodes.Find(nodSrc.Name.ToString(), true); try { Nods[0].Remove(); } catch { } }
void Valider() { var LibObjectif = lblLibelleObjectif.Text.Trim(); var CodeObjectif = lblCodeObjectif.Text.Trim().ToUpper(); var OptActive = OptActiveObjectif.Checked; var TypeObjectif = (TypeObjectif)lstTypeObjectif.SelectedIndex; string Statut = lstStatut.Text; int Statut_ID = Acces.Trouver_TableValeur_ID("STATUT", Statut); var Meteo = (Meteo)lstMeteo.SelectedIndex; var Tx = (TxAvancement)lstTx.SelectedIndex; int Pilote = -1; try { Pilote = ListePilote[lstPilote.SelectedIndex].ID; } catch { } var DDeb = lblDateDebut.Value; var DFin = lblDateFin.Value; var Description = lblDescription.Text; var Analyse = lblAnalyseQualitative.Text; if (LibObjectif.Length == 0) { MessageBox.Show("Libellé de l'objectif obligatoire", "Erreur", MessageBoxButtons.OK); return; } if (CodeObjectif.Length == 0) { MessageBox.Show("Code du plan d'actions obligatoire", "Erreur", MessageBoxButtons.OK); return; } //Vérifie si un utiilisateur n'a pas plusieurs profils List <int> ListeChoix = new List <int>(); foreach (int i in ChoixRole6PO_Copilote.ListeSelectionId) { ListeChoix.Add(i); } foreach (int i in ChoixRole6PO_Manager.ListeSelectionId) { ListeChoix.Add(i); } foreach (int i in ChoixRole6PO_Consultation.ListeSelectionId) { ListeChoix.Add(i); } List <int> distinct = ListeChoix.Distinct().ToList(); if (ListeChoix.Count() != distinct.Count()) { MessageBox.Show("Un utilisateur ne peut pas posséder 2 rôles dans 6PO pour cet objectif.", "Erreur"); return; } objectif.Libelle = LibObjectif; objectif.Code = CodeObjectif; objectif.TypeObjectif = TypeObjectif; objectif.Actif = OptActive; objectif.Pilote = Acces.Trouver_Utilisateur(Pilote); objectif.Statut = Statut_ID; objectif.Meteo = Meteo; objectif.TxAvancement = Tx; objectif.DateDebut = DDeb; objectif.DateFin = DFin; objectif.Description = Description; objectif.AnalyseQualitative = Analyse; objectif.Role_6PO_CoPilote = ChoixRole6PO_Copilote.ListeSelectionId; objectif.Role_6PO_Manager = ChoixRole6PO_Manager.ListeSelectionId; objectif.Role_6PO_Consultation = ChoixRole6PO_Consultation.ListeSelectionId; objectif._codeplan = lblPlan.Text; if (lblAxe.Text.Length > 0) { objectif._axe = string.Format("{0:00}", int.Parse(lblAxe.Text)); } if (lblOS.Text.Length > 0) { objectif._os = string.Format("{0:00}", int.Parse(lblOS.Text)); } if (lblOG.Text.Length > 0) { objectif._og = string.Format("{0:00}", int.Parse(lblOG.Text)); } if (lblOP.Text.Length > 0) { objectif._op = string.Format("{0:00}", int.Parse(lblOP.Text)); } objectif._cpl = lblAutre.Text; if (Creation) { if (!(Acces.Existe_Element(Acces.type_OBJECTIF, "CODE", CodeObjectif))) { objectif.ID = Acces.Ajouter_Element(Acces.type_OBJECTIF, objectif); //Création du lien avec le parent if (!(objectifParent is null)) { Lien l = new Lien() { Acces = Acces, }; l.element0_type = Acces.type_PLAN.id; l.element0_id = 1; l.element0_code = "SYSTEME"; l.element1_type = Acces.type_OBJECTIF.id; l.element1_id = objectifParent.ID; l.element1_code = objectifParent.Code; l.element2_type = Acces.type_OBJECTIF.id; l.element2_id = objectif.ID; l.element2_code = objectif.Code; l.Ajouter(); Acces.Ajouter_Lien(l); Creation = false; } } else { MessageBox.Show("L'objectif existe déjà (code identique).", "Erreur"); return; } } else { Acces.Enregistrer(Acces.type_OBJECTIF, objectif); } //Test du changement de code --> Impact sur les liens if (lblCodeObjectif.Text != lblCodeObjectif.Tag.ToString()) { Lien l = new Lien(); l.Acces = Acces; l.MettreAJourCode(Acces.type_OBJECTIF, objectif.ID, objectif.Code); } OnRaise_Evt_Enregistrer(new evt_Enregistrer(this.Tag.ToString())); Creation = false; lblEnregistrer.Text = "Enregistré " + string.Format("{0:dd/MM/yyyy HH:mm:ss}", DateTime.Now); }
private void lstUser_DragDrop(object sender, DragEventArgs e) { // Get the tree. TreeView tree = (TreeView)sender; // Get the screen point. System.Drawing.Point pt = new System.Drawing.Point(e.X, e.Y); // Convert to a point in the TreeView's coordinate system. pt = tree.PointToClient(pt); // Get the node underneath the mouse. TreeNode NodDest = tree.GetNodeAt(pt); // Add a child node. //node.Nodes.Add((TreeNode)e.Data.GetData(typeof(TreeNode))); // Show the newly added node if it is not already visible. //node.Expand(); TreeNode nodSrc = (TreeNode)e.Data.GetData(typeof(TreeNode)); if (NodDest.Name == nodSrc.Name) { return; } //Vérification du type de destination if (!(Acces.Trouver_Utilisateur(int.Parse(NodDest.Name.ToString())).TypeUtilisateur == TypeUtilisateur.DOSSIER)) { MessageBox.Show("Un utilisateur (hors type DOSSIER) ne peut contenir d'autres utilisateurs", "Erreur", MessageBoxButtons.OK); return; } //Prise en compte du changement en base //Recherche d'un lien du NodSrc Lien k = Acces.Donner_LienParent(((Lien)nodSrc.Tag).ID); if (!(k is null)) //Suppression des liens existants pour le Prop 0 (SYSTEME) { k.Acces = Acces; k.Supprimer(); } //Création du lien Lien p = new Lien(); p.element1_type = Acces.type_UTILISATEUR.id; p.element1_id = int.Parse(NodDest.Name); p.element1_code = Acces.Trouver_Utilisateur(p.element1_id).Code; p.element2_type = Acces.type_UTILISATEUR.id; p.element1_id = int.Parse(nodSrc.Name); p.element2_code = Acces.Trouver_Utilisateur(p.element2_id).Code; p.element0_type = Acces.type_PLAN.id; p.element0_id = 1; //SYSTEME p.ordre = p.Donner_Ordre() + 1; if (p.element1_id == p.element2_id) { return; } //Système anti-bouclage p.Ajouter(); Acces.Ajouter_Lien(p); Afficher_ListeUser(); TreeNode[] Nods = lstUser.Nodes.Find(nodSrc.Name.ToString(), true); lstUser.SelectedNode = Nods[0]; Nods[0].EnsureVisible(); }
private void lstIndicateur_DragDrop(object sender, DragEventArgs e) { // Get the tree. TreeView tree = (TreeView)sender; // Get the screen point. System.Drawing.Point pt = new System.Drawing.Point(e.X, e.Y); // Convert to a point in the TreeView's coordinate system. pt = tree.PointToClient(pt); // Get the node underneath the mouse. TreeNode NodDest = tree.GetNodeAt(pt); TreeNode nodSrc = (TreeNode)e.Data.GetData(typeof(TreeNode)); if (NodDest == nodSrc) { return; } //Vérification du type de destination if (!(((Indicateur)Acces.Trouver_Element(Acces.type_BUDGET_ENVELOPPE, int.Parse(NodDest.Name.ToString()))).TypeIndicateur == TypeIndicateur.DOSSIER)) { MessageBox.Show("Un indicateur (hors type DOSSIER) ne peut contenir d'autres indicateurs", "Erreur", MessageBoxButtons.OK); return; } //Prise en compte du changement en base //Recherche d'un lien du NodSrc Lien k = Acces.Donner_LienParent(int.Parse(nodSrc.Tag.ToString())); if (!(k is null)) { k.Acces = Acces; k.Supprimer(); } //Création du lien Lien p = new Lien() { Acces = Acces, }; p.Element1_Type = Acces.type_INDICATEUR.ID; p.Element1_ID = int.Parse(NodDest.Name); p.Element1_Code = ((Indicateur)Acces.Trouver_Element(Acces.type_INDICATEUR, p.Element1_ID)).Code; p.Element2_Type = Acces.type_INDICATEUR.ID; p.Element2_ID = int.Parse(nodSrc.Name); p.Element2_Code = ((Indicateur)Acces.Trouver_Element(Acces.type_INDICATEUR, p.Element2_ID)).Code; p.Element0_Type = Acces.type_PLAN.ID; //SYSTEME p.Element0_ID = 1; //SYSTEME p.Element0_Code = "SYSTEME"; //SYSTEME p.ordre = p.Donner_Ordre() + 1; p.Ajouter(); Acces.Ajouter_Lien(p); TreeNode nd = new TreeNode(); nd = (TreeNode)nodSrc.Clone(); NodDest.Nodes.Add(nd); lstIndicateur.SelectedNode = nd; TreeNode[] Nods = lstIndicateur.Nodes.Find(nodSrc.Name.ToString(), true); try { Nods[0].Remove(); } catch { } }
void Valider() { if (action == null) { MessageBox.Show("Action ?"); return; } if (lstTypeProjet.SelectedIndex < 0) { MessageBox.Show("Type de projet ?"); return; } if (lstPilote.SelectedIndex < 0) { MessageBox.Show("Pilote du projet ?"); return; } if (lstStatut.SelectedIndex < 0) { MessageBox.Show("Statut du projet ?"); return; } var LibProjet = lblLibelleProjet.Text.Trim(); var EnteteProjet = lblEntete.Text.Trim().ToUpper(); var CodeProjet = lblCodeProjet.Text; var OptActive = OptActiveProjet.Checked; var TypeProjet = ListeTypeProjet[lstTypeProjet.SelectedIndex].ID; var Statut = ListeStatut[lstStatut.SelectedIndex].ID; int Pilote = -1; try { Pilote = ListePilote[lstPilote.SelectedIndex].ID; } catch { } if (CodeProjet.Length == 0) { MessageBox.Show("Code du projet obligatoire", "Erreur", MessageBoxButtons.OK); return; } projet.Acces = Acces; projet.Libelle = LibProjet; projet.Code = CodeProjet; projet.TypeProjet = TypeProjet; projet.Statut = Statut; projet.Actif = OptActive; projet.EnveloppeBudget = ChoixEnveloppe.ListeSelectionId; projet.Pilote = Acces.Trouver_Utilisateur(Pilote); TypeElement type = Acces.type_PROJET; if (Creation) { if (!(Acces.Existe_Element(type, "CODE", projet.Code))) { projet.ID = Acces.Ajouter_Element(type, projet); //Création du lien if (action != null) { //Création du lien avec le parent Lien l = new Lien() { Acces = Acces, }; l.Element0_Type = Acces.type_PLAN.ID; l.Element0_ID = 1; l.Element0_Code = "SYSTEME"; l.Element1_Type = Acces.type_ACTION.ID; l.Element1_ID = action.ID; l.Element1_Code = action.Code; l.Element2_Type = Acces.type_PROJET.ID; l.Element2_ID = projet.ID; l.Element2_Code = projet.Code; l.Ajouter(); Acces.Ajouter_Lien(l); Creation = false; } Acces.Enregistrer(Acces.type_ACTION, action); } else { MessageBox.Show("Projet existant (Code)", "Erreur"); return; } } else { Acces.Enregistrer(type, projet); } //Test du changement de code --> Impact sur les liens /*if (lblCodePlan.Text != lblCodePlan.Tag.ToString()) * { * Lien l = new Lien() { Acces = Acces, }; * l.MettreAJourCode(Acces.type_PLAN, plan.ID, plan.Code); * }*/ this.DialogResult = DialogResult.OK; }
private void lstGroupe_DragDrop(object sender, DragEventArgs e) { // Get the tree. TreeView tree = (TreeView)sender; // Get the screen point. System.Drawing.Point pt = new System.Drawing.Point(e.X, e.Y); // Convert to a point in the TreeView's coordinate system. pt = tree.PointToClient(pt); // Get the node underneath the mouse. TreeNode NodDest = tree.GetNodeAt(pt); // Add a child node. //node.Nodes.Add((TreeNode)e.Data.GetData(typeof(TreeNode))); // Show the newly added node if it is not already visible. //node.Expand(); TreeNode nodSrc = (TreeNode)e.Data.GetData(typeof(TreeNode)); if (NodDest.Name == nodSrc.Name) { return; } //Prise en compte du changement en base //Recherche d'un lien du NodSrc Lien k = Acces.Donner_LienParent(((Lien)nodSrc.Tag).ID); if (!(k is null)) //Suppression des liens existants pour le Prop 0 (SYSTEME) { k.Acces = Acces; k.Supprimer(); } //Création du lien Lien p = new Lien() { Acces = Acces }; p.Element1_Type = Acces.type_GROUPE.ID; p.Element1_ID = int.Parse(NodDest.Name); p.Element1_Code = ((Indicateur)Acces.Trouver_Element(Acces.type_INDICATEUR, p.Element1_ID)).Code; p.Element2_Type = Acces.type_GROUPE.ID; p.Element2_ID = int.Parse(nodSrc.Name); p.Element2_Code = ((Indicateur)Acces.Trouver_Element(Acces.type_INDICATEUR, p.Element2_ID)).Code; p.Element0_Type = Acces.type_PLAN.ID; //SYSTEME p.Element0_ID = 1; //SYSTEME p.Element0_Code = "SYSTEME"; //SYSTEME p.ordre = p.Donner_Ordre() + 1; if (p.Element1_ID == p.Element2_ID) { return; } //Système anti-bouclage p.Ajouter(); Acces.Ajouter_Lien(p); AfficheListeGroupe(); TreeNode[] Nods = lstGroupe.Nodes.Find(nodSrc.Name.ToString(), true); lstGroupe.SelectedNode = Nods[0]; Nods[0].EnsureVisible(); }
void ExtraitLien(XElement element) { listeplan = (List <Plan>)Acces.Remplir_ListeElement(Acces.type_PLAN, ""); listeobjectif = (List <Objectif>)Acces.Remplir_ListeElement(Acces.type_OBJECTIF, ""); listeaction = (List <PATIO.CAPA.Classes.Action>)Acces.Remplir_ListeElement(Acces.type_ACTION, ""); listeindicateur = (List <Indicateur>)Acces.Remplir_ListeElement(Acces.type_INDICATEUR, ""); foreach (XElement childElement in element.Elements()) { if (childElement.Name == "Lien") { Lien p = new Lien() { Acces = Acces, }; foreach (XElement xl in childElement.Elements()) { switch (xl.Name.ToString()) { case "ID": { p.ID = int.Parse(xl.Value.ToString()); break; } case "Element0_Type": { p.Element0_Type = int.Parse(xl.Value.ToString()); break; } case "Element0_ID": { p.Element0_ID = int.Parse(xl.Value.ToString()); break; } case "Element0_Code": { p.Element0_Code = xl.Value.ToString(); break; } case "Element1_Type": { p.Element1_Type = int.Parse(xl.Value.ToString()); break; } case "Element1_ID": { p.Element1_ID = int.Parse(xl.Value.ToString()); break; } case "Element1_Code": { p.Element1_Code = xl.Value.ToString(); break; } case "Element2_Type": { p.Element2_Type = int.Parse(xl.Value.ToString()); break; } case "Element2_ID": { p.Element2_ID = int.Parse(xl.Value.ToString()); break; } case "Element2_Code": { p.Element2_Code = xl.Value.ToString(); break; } case "Ordre": { p.ordre = int.Parse(xl.Value.ToString()); break; } case "complement": { p.complement = xl.Value.ToString(); break; } } } //Recherche des identifiants par rapport aux codes int typeelement_id = Acces.type_OBJECTIF.ID; if (p.Element1_Type == Acces.type_OBJECTIF.ID) { p.Element1_Code = p.Element1_Code.Replace("+", "_"); } if (p.Element2_Type == Acces.type_OBJECTIF.ID) { p.Element2_Code = p.Element2_Code.Replace("+", "_"); } if (p.Element1_Type == Acces.type_ACTION.ID) { p.Element1_Code = p.Element1_Code.Replace("+", "_").Replace("|", "."); } if (p.Element2_Type == Acces.type_ACTION.ID) { p.Element2_Code = p.Element2_Code.Replace("+", "_").Replace("|", "."); } p.Element1_ID = (int)DonneIDElement(p.Element1_Type.ToString(), p.Element1_Code); p.Element2_ID = (int)DonneIDElement(p.Element2_Type.ToString(), p.Element2_Code); if (!(p.Exister_Lien(p.Element0_Type.ToString(), p.Element0_Code, p.Element1_Type.ToString(), p.Element1_Code, p.Element2_Type.ToString(), p.Element2_Code))) { p.Ajouter(); Acces.Ajouter_Lien(p); } } } }
void Valider() { var LibProcessus = lblLibelleProcessus.Text.Trim(); var CodeProcessus = lblCodeProcessus.Text.Trim().ToUpper(); var OptActive = OptActiveProcessus.Checked; var TypeProcessus = (TypeProcessus)lstTypeProcessus.SelectedIndex; if (LibProcessus.Length == 0) { MessageBox.Show("Libellé du processus obligatoire", "Erreur", MessageBoxButtons.OK); return; } if (CodeProcessus.Length == 0) { MessageBox.Show("Code du processus obligatoire", "Erreur", MessageBoxButtons.OK); return; } bool ok = false; if (Creation) { ok = Acces.Existe_Element(Acces.type_PROCESSUS, "CODE", CodeProcessus); } else { //ok = fonc.ExisteCode(Acces.type_INDICATEUR, CodeGroupe, groupe.ID); } if (ok) { MessageBox.Show("Pb avec le code", "Erreur", MessageBoxButtons.OK); return; } processus.Acces = Acces; processus.Libelle = LibProcessus; processus.Code = CodeProcessus; processus.Actif = OptActive; processus.Type_Processus = TypeProcessus; processus.DonneeEntrante = ChoixDonneeEntrant.ListeSelectionId; processus.DonneeSortante = ChoixDonneeSortant.ListeSelectionId; TypeElement Type = Acces.type_PROCESSUS; if (Creation) { if (!(Acces.Existe_Element(Type, "CODE", processus.Code))) { processus.ID = Acces.Ajouter_Element(Type, processus); if (processusParent != null) { Lien p = new Lien() { Acces = Acces }; p.Element0_Type = Acces.type_PLAN.ID; //SYSTEME p.Element0_ID = 1; //SYSTEME p.Element0_Code = "SYSTEME"; //SYSTEME p.Element1_Type = Acces.type_PROCESSUS.ID; p.Element1_ID = processusParent.ID; p.Element1_Code = ((Process)Acces.Trouver_Element(Acces.type_PROCESSUS, p.Element1_ID)).Code; p.Element2_Type = Acces.type_PROCESSUS.ID; p.Element2_ID = processus.ID; p.Element2_Code = ((Process)Acces.Trouver_Element(Acces.type_PROCESSUS, p.Element2_ID)).Code; p.ordre = p.Donner_Ordre() + 1; p.Ajouter(); Acces.Ajouter_Lien(p); } } else { MessageBox.Show("Processus existant (Code)", "Erreur"); return; } } else { Acces.Enregistrer(Type, processus); } this.DialogResult = DialogResult.OK; }