public int CountField(INakedObjectAdapter nakedObjectAdapter, string field) { var spec = nakedObjectAdapter.Spec as IObjectSpec ?? throw new NakedObjectSystemException("nakedObjectAdapter.Spec must be an IObjectSpec"); var associationSpec = spec.Properties.Single(x => x.Id == field); if (nakedObjectAdapter.Spec.IsViewModel) { var collection = associationSpec.GetNakedObject(nakedObjectAdapter); return(collection.GetCollectionFacetFromSpec().AsEnumerable(collection, nakedObjectManager).Count()); } return(objectStore.CountField(nakedObjectAdapter, associationSpec)); }
public int CountField(INakedObjectAdapter nakedObjectAdapter, string field) { var spec = nakedObjectAdapter.Spec as IObjectSpec; Trace.Assert(spec != null); IAssociationSpec associationSpec = spec.Properties.Single(x => x.Id == field); if (nakedObjectAdapter.Spec.IsViewModel) { INakedObjectAdapter collection = associationSpec.GetNakedObject(nakedObjectAdapter); return(collection.GetCollectionFacetFromSpec().AsEnumerable(collection, nakedObjectManager).Count()); } return(objectStore.CountField(nakedObjectAdapter, associationSpec)); }
public int CountField(INakedObject nakedObject, string field) { Log.DebugFormat("CountField nakedObject: {0} field: {1}", nakedObject, field); var spec = nakedObject.Spec as IObjectSpec; Trace.Assert(spec != null); IAssociationSpec associationSpec = spec.Properties.Single(x => x.Id == field); if (nakedObject.Spec.IsViewModel) { INakedObject collection = associationSpec.GetNakedObject(nakedObject); return(collection.GetCollectionFacetFromSpec().AsEnumerable(collection, nakedObjectManager).Count()); } return(objectStore.CountField(nakedObject, associationSpec)); }