//--------------------------------------------- /// <summary> /// Côntrôle de non récursivité pour les liens supportants et supportés /// </summary> public bool PeutEtreSupporte(CLienReseau lienSupportant) { if (lienSupportant == this) { return(false); } CSchemaReseau schemaLienSupportant = lienSupportant.SchemaReseau; if (schemaLienSupportant != null) { foreach (CElementDeSchemaReseau element in schemaLienSupportant.ElementsDeSchema) { if (element.ElementAssocie.GetType() == typeof(CLienReseau)) { CLienReseau lienReseau = (CLienReseau)element.ElementAssocie; if (lienReseau == this) { return(false); } if (!PeutEtreSupporte(lienReseau)) { return(false); } } } } return(true); }
//------------------------------------------------------------ public C2iObjetDeSchema GetObjetElement2(ref bool bCreate) { if (ElementDeSchema == null || !ElementDeSchema.IsValide()) { return(null); } CLienReseau lien = ElementDeSchema.LienReseau; if (lien == null) { return(null); } IElementDeSchemaReseau extremite = null; CCheminLienReseau racine = ElementDeSchema.RacineChemin2; if (racine != null) { extremite = racine.Etape as IElementDeSchemaReseau; } if (extremite == null) { extremite = lien.Element2 as IElementDeSchemaReseau; } return(GetObjetElement(extremite, ref bCreate)); }
public CResultAErreur DeleteObjetLie(bool bDansContexteCourant) { CResultAErreur result = CResultAErreur.True; if (SchemaReseauInclus != null) { CSchemaReseau schema = SchemaReseauInclus; ElementAssocie = null; SchemaReseauInclus = null; result = schema.Delete(bDansContexteCourant); } else if (LienReseau != null) { CLienReseau lien = LienReseau; ElementAssocie = null; LienReseau = null; // result = lien.Delete(bDansContexteCourant); /*if (result) * { * ElementAssocie = null; * LienReseau = null; * }*/ } return(result); }
//------------------------------------------------------------------- public void TiagSetLienReseauKeys(object[] lstKeys) { CLienReseau lien = new CLienReseau(ContexteDonnee); if (lien.ReadIfExists(lstKeys)) { LienReseau = lien; } }
//--------------------------------------------- /// <summary> /// Vérifie si le type d'un lien appartient aux types supportants possibles pour ce lien /// </summary> public bool TypeSupportantPossible(CLienReseau lienSupportant) { bool bTrouve = false; if (TypeLienReseau != null && lienSupportant.TypeLienReseau != null) { foreach (CTypeLienReseauSupport typeLienSupport in this.TypeLienReseau.TypesPouvantSupporterCeType) { if (typeLienSupport.TypeSupportant == lienSupportant.TypeLienReseau) { bTrouve = true; break; } } } return(bTrouve); }
/// <summary> /// Retourne le chemin correspondant à l'extremité demandée /// </summary> /// <param name="elt"></param> /// <returns></returns> public CCheminLienReseau GetCheminToElement(IElementALiensReseau elt) { CLienReseau lien = LienReseau; if (lien == null) { return(null); } if (elt == null) { return(null); } if (elt.Equals(lien.Element1)) { return(RacineChemin1); } if (elt.Equals(lien.Element2)) { return(RacineChemin2); } return(null); }