コード例 #1
0
        private void m_lnkAjouter_LinkClicked(object sender, EventArgs e)
        {
            CEntiteOrganisationnelle entite = (CEntiteOrganisationnelle)CFormSelectObjetHierarchique.SelectObjet(typeof(CEntiteOrganisationnelle), null);

            if (entite != null)
            {
                //Vérifie qu'aucun parent n'est affecté à l'élément
                ArrayList lst = new ArrayList(m_wndListeEos.ListeSource);
                foreach (CRelationElement_EO rel in lst)
                {
                    if (rel.EntiteOrganisationnelle.IsParentOf(entite))
                    {
                        CFormAlerte.Afficher(I.T("The object ever belong to this entity|128") + " (" +
                                             rel.EntiteOrganisationnelle.Libelle + ")", EFormAlerteType.Exclamation);
                        return;
                    }
                    if (rel.EntiteOrganisationnelle.IsChildOf(entite))
                    {
                        rel.Delete();
                    }
                }
                CRelationElement_EO newRel = new CRelationElement_EO(m_objet.ContexteDonnee);
                newRel.CreateNewInCurrentContexte();
                newRel.EntiteOrganisationnelle = entite;
                newRel.ElementLie         = m_objet;
                m_wndListeEos.ListeSource = CRelationElement_EO.GetListeRelationsForElement(m_objet);
                m_wndListeEos.Refresh();
            }
        }
コード例 #2
0
        //-------------------------------------------------
        private void m_btnSelectEntite_Click(object sender, EventArgs e)
        {
            CEntiteOrganisationnelle racine = null;

            if (m_relationEditee.Profil != null)
            {
                racine = m_relationEditee.Profil.EntiteOrganisationnelle;
            }
            else if (m_relationEditee.Profil_Inclusion != null)
            {
                racine = m_relationEditee.Profil_Inclusion.ProfilFils.EntiteOrganisationnelle;
            }
            if (racine != null)
            {
                CObjetHierarchique[] selection = CFormSelectObjetHierarchique.SelectObjets(
                    typeof(CEntiteOrganisationnelle),
                    racine,
                    (CObjetHierarchique[])m_relationEditee.EntitesLiesExplicites.ToArray());
                if (selection != null)
                {
                    ArrayList lst = new ArrayList(selection);
                    m_relationEditee.SetEntitesLiees((CEntiteOrganisationnelle[])lst.ToArray(typeof(CEntiteOrganisationnelle)));
                    UpdateLibelleEntite();
                }
            }
        }
コード例 #3
0
        public static CObjetHierarchique[] SelectObjets(
            Type typeObjet,
            CObjetHierarchique racine,
            CObjetHierarchique[] listeSelectionnees)
        {
            CFormSelectObjetHierarchique form = new CFormSelectObjetHierarchique();

            form.m_racine           = racine;
            form.m_typeObjets       = typeObjet;
            form.m_arbre.CheckBoxes = true;
            form.m_listeChecked     = new List <CObjetHierarchique>(listeSelectionnees);
            CObjetHierarchique[] retour = null;
            if (form.ShowDialog() == DialogResult.OK)
            {
                retour = form.GetObjetsSelectionnes().ToArray();
            }
            form.Dispose();
            return(retour);
        }
コード例 #4
0
        public static CObjetHierarchique SelectObjet(Type typeObjet, CObjetHierarchique racine)
        {
            CFormSelectObjetHierarchique form = new CFormSelectObjetHierarchique();

            form.m_racine     = racine;
            form.m_typeObjets = typeObjet;
            CObjetHierarchique objetSel = null;

            if (form.ShowDialog() == DialogResult.OK)
            {
                TreeNode node = form.m_arbre.SelectedNode;
                if (node != null)
                {
                    objetSel = (CObjetHierarchique)node.Tag;
                }
            }
            form.Dispose();
            return(objetSel);
        }