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 { } }
void AjouterSousIndicateur() { if (lstIndicateur.SelectedNode is null) { MessageBox.Show("Choix d'un indicateur"); return; } Indicateur indParent = (Indicateur)Acces.Trouver_Element(Acces.type_INDICATEUR.id, int.Parse(lstIndicateur.SelectedNode.Name.ToString())); if (!(indParent.TypeIndicateur == TypeIndicateur.DOSSIER)) { MessageBox.Show("Impossible de créer un indicateur sous un indicateur autre qu'un type DOSSIER", "Erreur", MessageBoxButtons.OK); return; } var f = new frmIndicateur(); f.Acces = Acces; f.Creation = true; f.indicateur = new PATIO.Classes.Indicateur(); f.indicateur.Actif = true; f.indicateur.Code = indParent.Code; f.Initialise(); if (f.ShowDialog(this) == DialogResult.OK) { if (!(lstIndicateur.SelectedNode is null)) { //Création du lien avec le parent Lien l = new Lien() { element0_type = Acces.type_PLAN.id, element0_id = 1, element0_code = "SYSTEME", element1_type = Acces.type_INDICATEUR.id, element2_type = Acces.type_INDICATEUR.id, element1_id = int.Parse(lstIndicateur.SelectedNode.Name), element1_code = ((Indicateur)Acces.Trouver_Element(Acces.type_INDICATEUR.id, int.Parse(lstIndicateur.SelectedNode.Name))).Code, element2_id = f.indicateur.ID, element2_code = ((Indicateur)Acces.Trouver_Element(Acces.type_INDICATEUR.id, f.indicateur.ID)).Code, ordre = 1, Acces = Acces, }; l.Ajouter(); Acces.Ajouter_Lien(l); } Afficher_ListeIndicateur(); TreeNode[] Nod = lstIndicateur.Nodes.Find(f.indicateur.ID.ToString(), true); if (Nod.Length > 0) { lstIndicateur.SelectedNode = Nod[0].Parent; Nod[0].EnsureVisible(); } } }
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); }
/// <summary> /// Procédure lancée à l'enregistrement de la fiche /// </summary> void Valider() { //Onglet Informations générales var LibAction = lblLibelleAction.Text.Trim(); var CodeAction = lblCodeAction.Text.Trim().ToUpper(); var OptActive = OptActiveAction.Checked; var TypeAction = (TypeAction)lstTypeAction.SelectedIndex; if (LibAction.Length == 0) { MessageBox.Show("Libellé de l'action obligatoire", "Erreur", MessageBoxButtons.OK); return; } if (CodeAction.Length < 5) { MessageBox.Show("Code de l'action obligatoire", "Erreur", MessageBoxButtons.OK); return; } string Statut = lstStatut.Text; int Statut_ID = Acces.Trouver_TableValeur_ID("STATUT", Statut); int Pilote = -1; try { Pilote = ListePilote[lstPilote.SelectedIndex].ID; } catch { } action.Libelle = LibAction; action.Code = CodeAction; action.TypeAction = TypeAction; action.Actif = OptActive; action.Pilote = Acces.Trouver_Utilisateur(Pilote); action.Statut = Statut_ID; action.ActionPhare = optActionPhare.Checked; action.OrdreActionPhare = Acces.Trouver_TableValeur_ID("ORDRE_ACTION_PHARE", lstOrdrePriorite.Text.ToString()); action.Validation = Acces.Trouver_TableValeur_ID("VALIDATION_INTERNE", lstNiveauValidation.Text); action.Description = lblDescription.Text.Trim(); action._type = ""; action._codeplan = ""; action._axe = ""; action._os = ""; action._og = ""; action._op = ""; action._cpl = ""; action._ordreact = ""; action._annee = ""; action._direction = ""; action._reference = ""; action._ordreope = ""; if ((TypeAction)lstTypeAction.SelectedIndex == TypeAction.DOSSIER) { action._type = "AXX"; } if ((TypeAction)lstTypeAction.SelectedIndex == TypeAction.ACTION) { action._type = "ACT"; } if ((TypeAction)lstTypeAction.SelectedIndex == TypeAction.OPERATION) { action._type = "OPE"; } try { action._codeplan = lblPlanACT.Text.ToUpper().Trim(); if (lblAxeACT.Text.Trim().Length > 0) { action._axe = string.Format("{0:00}", int.Parse(lblAxeACT.Text)); } if (lblOSACT.Text.Trim().Length > 0) { action._os = string.Format("{0:00}", int.Parse(lblOSACT.Text)); } if (lblOGACT.Text.Trim().Length > 0) { action._og = string.Format("{0:00}", int.Parse(lblOGACT.Text)); } if (lblOPACT.Text.Trim().Length > 0) { action._op = string.Format("{0:00}", int.Parse(lblOPACT.Text)); } if (lblAutreACT.Text.Trim().Length > 0) { action._cpl = lblAutreACT.Text; } if (lblOrdreACT.Text.Trim().Length > 0) { action._ordreact = string.Format("{0:000}", int.Parse(lblOrdreACT.Text)); } if (action._type == "OPE") { if (lblAnnéeOPE.Text.Trim().Length > 0) { action._annee = lblAnnéeOPE.Text; } if (lblDirectionOPE.Text.Trim().Length > 0) { action._direction = lblDirectionOPE.Text; } if (lblRefOPE.Text.Trim().Length > 0) { action._reference = lblRefOPE.Text; } if (lblOrdreOPE.Text.Trim().Length > 0) { action._ordreope = string.Format("{0:000}", int.Parse(lblOrdreOPE.Text)); } } } catch { } //Onglet Public, partenaires action.PublicCible = ChoixPublicCible.ListeSelectionId; action.Territoire = lblTerritoire.Text.Trim(); action.Partenaire = ChoixPartenaireInstitutionnel.ListeSelectionId; action.Usager = ChoixUsager.ListeSelectionId; //Onglet Moyens action.StructurePorteuse = ChoixStructurePorteuse.ListeSelectionId; action.Acteur = ChoixActeur.ListeSelectionId; action.Levier = ChoixLevier.ListeSelectionId; action.CoutFinancier = lblCoutFinancier.Text.Trim(); action.FinancementFIR = optFIR.Checked; action.Mt_2018 = lblMontant_2018.Text.Trim(); action.Mt_2019 = lblMontant_2019.Text.Trim(); action.Mt_2020 = lblMontant_2020.Text.Trim(); action.Mt_2021 = lblMontant_2021.Text.Trim(); action.Mt_2022 = lblMontant_2022.Text.Trim(); action.Mt_2023 = lblMontant_2023.Text.Trim(); action.Mt_Total = lblMontant_Total.Text.Trim(); //Onglet Suivi et évaluation action.ResultatLivrable = lblResultatLivrable.Text.Trim(); action.NbPersImpact = lblNbPersImpact.Text.Trim(); action.NbActeurMobilise = lblNbActeur.Text.Trim(); action.IndicResultat = lblIndicResultat.Text.Trim(); action.IndicMoyen = lblIndicMoyen.Text.Trim(); //Onglet Calendrier, responsabilités action.AnneeMiseOeuvre = ChoixAnnee.ListeSelectionId; action.DirectionPilote = ChoixDirectionPilote.ListeSelectionId; action.DirectionAssocie = ChoixDirectionAssocie.ListeSelectionId; action.Equipe = ChoixEquipe.ListeSelectionId; //Onglet Liens action.LienPlan = ChoixLienPlan.ListeSelectionId; action.LienParcours = ChoixLienParcours.ListeSelectionId; action.LienSecteur = ChoixLienSecteur.ListeSelectionId; //Onglet Priorités CTS action.TSante = ChoixTSANTE.ListeSelectionId; List <int> listePrio = new List <int>(); foreach (int k in ChoixCTS591.ListeSelectionId) { listePrio.Add(k); } foreach (int k in ChoixCTS592.ListeSelectionId) { listePrio.Add(k); } foreach (int k in ChoixCTS62.ListeSelectionId) { listePrio.Add(k); } foreach (int k in ChoixCTS80.ListeSelectionId) { listePrio.Add(k); } foreach (int k in ChoixCTS02.ListeSelectionId) { listePrio.Add(k); } foreach (int k in ChoixCTS60.ListeSelectionId) { listePrio.Add(k); } action.Priorite_CTS = listePrio; //Onglet 6PO action.DateDebut = lblDateDebut.Value; action.DateFin = lblDateFin.Value; action.Meteo = (Meteo)lstMeteo.SelectedIndex; action.TxAvancement = (TxAvancement)lstTx.SelectedIndex; action.ActionInnovante = OptActionInnovante.Checked; action.AnalyseQualitative = lblAnalyseQualitative.Text.Trim(); action.ReductionInegalite = lblReductionInegalite.Text.Trim(); //Onglet Rôle 6PO action.Role_6PO_CoPilote = ChoixRole6PO_Copilote.ListeSelectionId; action.Role_6PO_Manager = ChoixRole6PO_Manager.ListeSelectionId; action.Role_6PO_Consultation = ChoixRole6PO_Consultation.ListeSelectionId; if (Creation) { if (!(Acces.Existe_Element(Acces.type_ACTION, "CODE", CodeAction))) { action.ID = Acces.Ajouter_Element(Acces.type_ACTION, action); if (actionParent != 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 = actionParent.ID; l.element1_code = actionParent.Code; l.element2_type = Acces.type_ACTION.id; l.element2_id = action.ID; l.element2_code = action.Code; l.Ajouter(); Acces.Ajouter_Lien(l); Creation = false; } Acces.Enregistrer(Acces.type_ACTION, action); } } else { Acces.Enregistrer(Acces.type_ACTION, action); } //Test du changement de code --> Impact sur les liens if (lblCodeAction.Text != lblCodeAction.Tag.ToString()) { Lien l = new Lien() { Acces = Acces }; l.MettreAJourCode(Acces.type_ACTION, action.ID, action.Code); } OnRaise_Evt_Enregistrer(new evt_Enregistrer(this.Tag.ToString())); //Déclenche l'événement de modification 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_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() { 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; }