public ResourceAssociations FindRequiredAssociations() { ResourceAssociations requiredAssociations = new ResourceAssociations(); foreach (ResourceProperty prop in this.Properties.OfType<ResourceProperty>().Where(p => p.IsNavigation == true && p.Name != null)) { if (prop.AssociationEnd.Multiplicity == Multiplicity.One) { requiredAssociations.Add(prop.ResourceAssociation); } } return requiredAssociations; }
protected bool ShouldAllowTestOneOrLessRequiredAssociation(ResourceType resourceType, ResourceAssociations associations) { ResourceAssociations requiredAssociations = resourceType.AssociationsRequired; if (requiredAssociations.Count == 1) { if (associations.Contains(requiredAssociations[0])) return true; } else if (requiredAssociations.Count == 0) { return true; } return false; }
public ResourceAssociations FindAssociationsOfMultiplicity(Multiplicity resourceTypeEndMul, Multiplicity otherEndMul) { ResourceAssociations associationsFoundWithMul = new ResourceAssociations(); foreach (ResourceProperty prop in this.Properties.OfType<ResourceProperty>().Where(p => p.IsNavigation == true && p.Name != null)) { if (prop.AssociationEnd.Multiplicity == resourceTypeEndMul && prop.OtherAssociationEnd.Multiplicity == otherEndMul) { associationsFoundWithMul.Add(prop.ResourceAssociation); } } return associationsFoundWithMul; }
protected bool ShouldAllowTestOneOrLessRequiredAssociation(ResourceType resourceType, ResourceAssociation association) { ResourceAssociations associations = new ResourceAssociations(); associations.Add(association); return ShouldAllowTestOneOrLessRequiredAssociation(resourceType, associations); }