public IRelationElementALien_Element GetNewRelation(IElementALien elementALien, CObjetDonneeAIdNumerique elementLie)
        {
            CRelationDossierSuivi_Element rel = new CRelationDossierSuivi_Element(elementALien.ContexteDonnee);

            rel.ElementLie   = elementLie;
            rel.DossierSuivi = (CDossierSuivi)elementALien;
            rel.RelationParametre_TypeElement = this;
            return(rel);
        }
Exemplo n.º 2
0
        public bool AddElementLieSurType(CObjetDonneeAIdNumerique element, IRelationTypeElementALien_TypeElement relType)
        {
            if (element == null)
            {
                return(false);
            }
            Hashtable tableRelationsExistantes = new Hashtable();

            CRelationDossierSuivi_Element laRelation = null;

            foreach (CRelationDossierSuivi_Element rel in RelationsElements)
            {
                if (rel.RelationParametre_TypeElement.Id == relType.Id)
                {
                    laRelation = rel;
                    tableRelationsExistantes[rel.ElementLie] = rel;
                }
            }

            bool bCreate = false;

            if (relType.Multiple && element != null)
            {
                if (tableRelationsExistantes[element] == null)
                {
                    bCreate = true;
                }
            }
            else
            {
                if (tableRelationsExistantes.Count != 0)
                {
                    laRelation.ElementLie = element;
                }
                else
                {
                    bCreate = true;
                }
            }
            if (bCreate)
            {
                CRelationDossierSuivi_Element rel = new CRelationDossierSuivi_Element(ContexteDonnee);
                rel.CreateNewInCurrentContexte();
                rel.DossierSuivi = this;
                rel.ElementLie   = element;
                rel.RelationParametre_TypeElement = (CRelationTypeDossierSuivi_TypeElement)relType;
            }
            return(true);
        }