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.id, 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.id, 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 { } }
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 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(); }
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_INDICATEUR.id, 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.id, 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.id, 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() { 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; }