internal Collection(ResourceClassBase resourceClass, AssociationView association, FilterContext filterContext) : base(resourceClass, association.Name) { Association = association; FilterContext = filterContext ?? FilterContext.NullFilterContext; ItemType = new ResourceChildItem(resourceClass.ResourceModel, association.OtherEntity, FilterContext, resourceClass); if (FilterContext.Definition != null) { // Make sure the XML element matches what we are expecting if (FilterContext.Definition.Name != "Collection") { throw new ArgumentException( string.Format( "The filter context definition XML element reference was a '{0}' element rather than the expected 'Collection' element.", FilterContext.Definition.Name)); } var filterElt = FilterContext.Definition.Element("Filter"); if (filterElt != null) { ValueFilters = new[] { new CollectionItemValueFilter(filterElt) }; } else { ValueFilters = new CollectionItemValueFilter[0]; } } }
internal EmbeddedObject(ResourceClassBase resourceClass, AssociationView association, FilterContext childFilterContext) : base(resourceClass, association.Name) { Association = association; ObjectType = new ResourceChildItem(resourceClass.ResourceModel, association.OtherEntity, childFilterContext, resourceClass); _parentFullName = Association.ThisEntity.FullName; }
public Extension(ResourceClassBase resourceClass, ResourceChildItem extensionObjectType, string displayName) : base(resourceClass, displayName, displayName.ToCamelCase()) { ObjectType = extensionObjectType; if (resourceClass.Entity != null) { ParentFullName = resourceClass.Entity.FullName; } }
internal Extension( ResourceClassBase resourceClass, AssociationView association, FilterContext childFilterContext, Func <IEnumerable <AssociationView> > collectionAssociations, Func <IEnumerable <AssociationView> > embeddedObjectAssociations) : base(resourceClass, association.Name) { Association = association; ObjectType = new ResourceChildItem( resourceClass.ResourceModel, association.OtherEntity, childFilterContext, resourceClass, collectionAssociations, embeddedObjectAssociations); ParentFullName = Association.ThisEntity.FullName; }
internal Collection(Collection[] collections) : base( collections.Select(c => c.ResourceClass) .FirstOrDefault(), // TODO: These won't be the same, ever. Seems like we should just pass the ResourceModel. collections.Select(c => c.Association.Name) .FirstOrDefault()) // No need to pass on a filter because the composite already consists of filtered collections { // Make sure all the collections are truly derived from the same association ValidateCompositeCollectionArguments(collections); Association = collections.Select(c => c.Association) .FirstOrDefault(); ItemType = new ResourceChildItem( collections.Select(c => c.ItemType) .ToArray(), ResourceClass); // Combine all the value filters from all the composed collections. ValueFilters = collections.SelectMany(c => c.ValueFilters) .ToArray(); }
public EmbeddedObject(ResourceClassBase resourceClass, ResourceChildItem objectType, string displayName) : base(resourceClass, displayName, displayName.ToCamelCase()) { ObjectType = objectType; }
public Collection(ResourceClassBase resourceClass, ResourceChildItem itemType, AssociationView association, string memberDisplayName) : base(resourceClass, memberDisplayName, memberDisplayName.ToCamelCase()) { ItemType = itemType; Association = association; }