private void CreateInlineObjects(INakedObjectAdapter parentObjectAdapter, object rootObject)
        {
            var spec = parentObjectAdapter.Spec as IObjectSpec ?? throw new NakedObjectSystemException("parentObjectAdapter.Spec must be IObjectSpec");

            foreach (var assoc in spec.Properties.OfType <IOneToOneAssociationSpec>().Where(p => p.IsInline))
            {
                var inlineObject = CreateObject(assoc.ReturnSpec);

                InitInlineObject(rootObject, inlineObject);
                var inlineNakedObjectAdapter = nakedObjectManager.CreateAggregatedAdapter(parentObjectAdapter, assoc.Id, inlineObject);
                InitializeNewObject(inlineNakedObjectAdapter, rootObject);
                assoc.InitAssociation(parentObjectAdapter, inlineNakedObjectAdapter);
            }
        }
示例#2
0
        private void CreateInlineObjects(INakedObjectAdapter parentObjectAdapter, object rootObject)
        {
            var spec = parentObjectAdapter.Spec as IObjectSpec;

            Trace.Assert(spec != null);
            foreach (IOneToOneAssociationSpec assoc in spec.Properties.OfType <IOneToOneAssociationSpec>().Where(p => p.IsInline))
            {
                object inlineObject = CreateObject(assoc.ReturnSpec);

                InitInlineObject(rootObject, inlineObject);
                INakedObjectAdapter inlineNakedObjectAdapter = nakedObjectManager.CreateAggregatedAdapter(parentObjectAdapter, assoc.Id, inlineObject);
                InitializeNewObject(inlineNakedObjectAdapter, rootObject);
                assoc.InitAssociation(parentObjectAdapter, inlineNakedObjectAdapter);
            }
        }