private static INakedObjectAdapter RestoreInline(this INakedObjectsFramework framework, IAggregateOid aggregateOid) { IOid parentOid = aggregateOid.ParentOid; INakedObjectAdapter parent = framework.RestoreObject(parentOid); IAssociationSpec assoc = parent.GetObjectSpec().Properties.Where((p => p.Id == aggregateOid.FieldName)).Single(); return(assoc.GetNakedObject(parent)); }
public virtual FileContentResult GetFile(string Id, string PropertyId) { INakedObject target = NakedObjectsContext.GetNakedObjectFromId(Id); IAssociationSpec assoc = ((IObjectSpec)target.Spec).Properties.Single(a => a.Id == PropertyId); var domainObject = assoc.GetNakedObject(target).GetDomainObject(); return(AsFile(domainObject)); }
/// <summary> /// Removes an existing object reference from the specified field. Mirrors the 'Remove Reference' menu /// option that each object field offers by default. /// </summary> public ITestProperty ClearObject() { AssertIsVisible(); AssertIsModifiable(); ResetLastMessage(); Assert.IsFalse(field.ReturnSpec.IsParseable, "Clear(..) not allowed on value target field; use SetValue(..) instead"); var nakedObjectAdapter = field.GetNakedObject(owningObject.NakedObject); if (nakedObjectAdapter != null) { var spec = field as IOneToOneAssociationSpec; if (spec != null) { spec.SetAssociation(owningObject.NakedObject, null); } else { Assert.Fail("Clear(..) not allowed on collection target field"); } } return(this); }
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 static object GetVersion(this INakedObjectAdapter nakedObjectAdapter, INakedObjectManager manager) { IAssociationSpec versionProperty = nakedObjectAdapter.GetVersionProperty(); if (versionProperty != null) { object version = versionProperty.GetNakedObject(nakedObjectAdapter).GetDomainObject(); if (version is DateTime) { return(((DateTime)version).StripMillis()); } return(version); } return(null); }
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)); }
public void ResolveField(INakedObjectAdapter nakedObjectAdapter, IAssociationSpec field) { if (field.ReturnSpec.HasNoIdentity) { return; } INakedObjectAdapter reference = field.GetNakedObject(nakedObjectAdapter); if (reference == null || reference.ResolveState.IsResolved()) { return; } if (!reference.ResolveState.IsPersistent()) { return; } // don't log object - its ToString() may use the unresolved field or unresolved collection objectStore.ResolveField(nakedObjectAdapter, field); }
public void ResolveField(INakedObject nakedObject, IAssociationSpec field) { Log.DebugFormat("ResolveField nakedObject: {0} field: {1}", nakedObject, field); if (field.ReturnSpec.HasNoIdentity) { return; } INakedObject reference = field.GetNakedObject(nakedObject); if (reference == null || reference.ResolveState.IsResolved()) { return; } if (!reference.ResolveState.IsPersistent()) { return; } if (Log.IsInfoEnabled) { // don't log object - its ToString() may use the unresolved field or unresolved collection Log.Info("resolve field " + nakedObject.Spec.ShortName + "." + field.Id + ": " + reference.Spec.ShortName + " " + reference.ResolveState.CurrentState.Code + " " + reference.Oid); } objectStore.ResolveField(nakedObject, field); }
public IObjectFacade GetValue(IObjectFacade target) { INakedObjectAdapter result = assoc.GetNakedObject(((ObjectFacade)target).WrappedNakedObject); return(ObjectFacade.Wrap(result, FrameworkFacade, framework)); }
public INakedObjectSurface GetNakedObject(INakedObjectSurface target) { INakedObject result = assoc.GetNakedObject(((NakedObjectWrapper)target).WrappedNakedObject); return(NakedObjectWrapper.Wrap(result, Surface, framework)); }