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));
        }