public CSchemaReseau GetSchemaReseauCreateIfNull() { CSchemaReseau schema = SchemaReseau; if (schema != null) { if (schema.Libelle == "") { schema.Libelle = Libelle; } return(schema); } schema = new CSchemaReseau(ContexteDonnee); schema.CreateNewInCurrentContexte(); schema.LienReseau = this; schema.Libelle = Libelle; if (schema.GetSchema(true) == null) { schema.SetSchema(new C2iSchemaReseau(schema)); } return(schema); }
public C2iSchemaReseau GetSchemaReseauADessiner(bool bCreationAutorisee) { C2iSchemaReseau schemaADessiner; if (SchemaReseau != null) { if (SchemaReseau.GetSchema(bCreationAutorisee) != null) { schemaADessiner = SchemaReseau.GetSchema(bCreationAutorisee); } else { schemaADessiner = new C2iSchemaReseau(SchemaReseau); } } else if (bCreationAutorisee) { CSchemaReseau schema = GetSchemaReseauCreateIfNull(); schema.CreateNewInCurrentContexte(); schema.LienReseau = this; schema.Libelle = this.Libelle; schemaADessiner = schema.GetSchema(bCreationAutorisee); } else { return(null); } bool bFindObjet1 = false; bool bFindObjet2 = false; foreach (C2iObjetDeSchema objet in schemaADessiner.Childs) { if (objet.ElementDeSchema != null && objet.ElementDeSchema.ElementAssocie != null) { if (objet.ElementDeSchema.ElementAssocie.Equals(Element1)) { bFindObjet1 = true; } if (objet.ElementDeSchema.ElementAssocie.Equals(Element2)) { bFindObjet2 = true; } } } if (!bFindObjet1 && Element1 != null) { CElementDeSchemaReseau elt1 = new CElementDeSchemaReseau(ContexteDonnee); elt1.CreateNewInCurrentContexte(); elt1.SchemaReseau = SchemaReseau; elt1.ElementAssocie = Element1; C2iObjetDeSchema objet1 = elt1.ObjetDeSchema; schemaADessiner.AddChild(objet1); objet1.Parent = schemaADessiner; objet1.Position = new Point(10, 10); elt1.X = objet1.Position.X; elt1.Y = objet1.Position.Y; } if (!bFindObjet2 && Element2 != null) { CElementDeSchemaReseau elt2 = new CElementDeSchemaReseau(ContexteDonnee); elt2.CreateNewInCurrentContexte(); elt2.SchemaReseau = SchemaReseau; elt2.ElementAssocie = Element2; C2iObjetDeSchema objet2 = elt2.ObjetDeSchema; schemaADessiner.AddChild(objet2); objet2.Parent = schemaADessiner; objet2.Position = new Point(10, 400); elt2.X = objet2.Position.X; elt2.Y = objet2.Position.Y; } C2iLienDeSchemaReseauNoDelete lienGraphiqueEdite = new C2iLienDeSchemaReseauNoDelete(); lienGraphiqueEdite.LienReseau = this; schemaADessiner.AddChild(lienGraphiqueEdite); lienGraphiqueEdite.Parent = schemaADessiner; schemaADessiner.FrontToBack(lienGraphiqueEdite); return(schemaADessiner); }