public static string GetObjectId(this INakedObjectsFramework framework, object model) { Assert.AssertFalse("Cannot get Adapter for Adapter", model is INakedObjectAdapter); INakedObjectAdapter nakedObject = framework.GetNakedObject(model); return(framework.GetObjectId(nakedObject)); }
private INakedObjectAdapter GetValue(IActionParameterFacade parm, object rawValue) { if (rawValue == null || rawValue is string && string.IsNullOrEmpty(rawValue as string)) { return(null); } if (parm.Specification.IsParseable) { return(parm.WrappedSpec().Spec.GetFacet <IParseableFacet>().ParseTextEntry((string)rawValue, framework.NakedObjectManager)); } var collectionParm = parm.WrappedSpec() as IOneToManyActionParameterSpec; if (collectionParm != null && collectionParm.ElementSpec.IsParseable) { var stringArray = rawValue as string[]; if (stringArray == null || !stringArray.Any()) { return(null); } var eSpec = collectionParm.ElementSpec; var objectArray = stringArray.Select(i => i == null ? null : eSpec.GetFacet <IParseableFacet>().ParseTextEntry(i, framework.NakedObjectManager).Object).Where(o => o != null).ToArray(); if (!objectArray.Any()) { return(null); } var typedArray = Array.CreateInstance(objectArray.First().GetType(), objectArray.Length); Array.Copy(objectArray, typedArray, typedArray.Length); return(framework.GetNakedObject(typedArray)); } return(framework.GetNakedObject(rawValue)); }
private static INakedObject SafeGetNakedObjectFromId(string id, INakedObjectsFramework framework) { try { return(framework.GetNakedObjectFromId(id)); } catch (Exception) { // create a NakedObject just to carry the 'Destroyed' state var no = framework.GetNakedObject(new object()); no.ResolveState.Handle(Events.StartResolvingEvent); no.ResolveState.Handle(Events.DestroyEvent); return(no); } }
public ParameterContext[] GetParameterContexts(INakedObjectsFramework framework) { if (parameterContexts == null) { parameterContexts = Action.Parameters.Where(Filter).Select(p => new ParameterContext(EmbeddedInObject, Target, Action, p, true)).ToArray(); if (ParameterValues != null) { foreach (ParameterContext pc in parameterContexts) { object value; if (ParameterValues.TryGetValue(pc.Parameter.Id, out value)) { pc.IsHidden = true; pc.CustomValue = framework.GetNakedObject(value); } } } } return(parameterContexts); }
public static string GetObjectTypeName(this INakedObjectsFramework framework, object model) { INakedObjectAdapter nakedObject = framework.GetNakedObject(model); return(nakedObject.Spec.ShortName); }
public IObjectFacade[] GetChoices(IObjectFacade target, IDictionary <string, object> parameterNameValues) { var oneToOneFeature = assoc as IOneToOneFeatureSpec; var pnv = parameterNameValues == null ? null : parameterNameValues.ToDictionary(kvp => kvp.Key, kvp => framework.GetNakedObject(kvp.Value)); return(oneToOneFeature != null?oneToOneFeature.GetChoices(((ObjectFacade)target).WrappedNakedObject, pnv).Select(no => ObjectFacade.Wrap(no, FrameworkFacade, framework)).Cast <IObjectFacade>().ToArray() : null); }
public static void AddObjectToSession <T>(this HttpSessionStateBase session, INakedObjectsFramework framework, string key, T domainObject) where T : class { INakedObject nakedObject = framework.GetNakedObject(domainObject); session.Add(key, (nakedObject.ResolveState.IsTransient() ? (object)domainObject : framework.GetObjectId(domainObject))); }
public static void AddToCache(this HttpSessionStateBase session, INakedObjectsFramework framework, object domainObject, ObjectFlag flag = ObjectFlag.None) { INakedObject nakedObject = framework.GetNakedObject(domainObject); session.AddToCache(framework, nakedObject, flag); }