Example #1
0
 public ITestParameter CreateTestParameter(INakedObjectAction action, INakedObjectActionParameter parameter, ITestHasActions owningObject) {
     return new TestParameter(action, parameter, owningObject, this);
 }
Example #2
0
 public TestParameter(INakedObjectAction action, INakedObjectActionParameter parameter, ITestHasActions owningObject, ITestObjectFactory factory) {
     this.action = action;
     this.parameter = parameter;
     this.owningObject = owningObject;
     this.factory = factory;
 }
Example #3
0
        internal static INakedObject GetParameterValue(INakedObjectActionParameter parm, object value) {
            if (value == null) {
                return null;
            }
            var fromStreamFacet = parm.Specification.GetFacet<IFromStreamFacet>();
            if (fromStreamFacet != null) {
                var httpPostedFileBase = (HttpPostedFileBase) value;
                return fromStreamFacet.ParseFromStream(httpPostedFileBase.InputStream, httpPostedFileBase.ContentType, httpPostedFileBase.FileName);
            }
            var stringValue = value as string;
            if (parm.Specification.IsParseable) {
                return parm.Specification.GetFacet<IParseableFacet>().ParseTextEntry(stringValue);
            }

            var collectionValue = value as IEnumerable;
            if (parm.IsObject || collectionValue == null) {
                return FrameworkHelper.GetNakedObjectFromId(stringValue);
            }

            return FrameworkHelper.GetTypedCollection(parm.Specification, collectionValue);
        }
Example #4
0
        private static object GetRawParameterValue(INakedObjectActionParameter parm, ObjectAndControlData controlData, string name) {

            var form = controlData.Form;
            ValueProviderResult vp = form.GetValue(name);
            string[] values = vp == null ? null : (string[]) vp.RawValue;

            if (values == null) {
                if (controlData.Files.ContainsKey(name)) {
                    return controlData.Files[name];
                }
                return null; 
            }
            if (parm.IsCollection) {
                return values.All(string.IsNullOrEmpty) ? null : values;
            }
            return values.First();
        }
Example #5
0
 public void ValidateParameter(INakedObjectAction action, INakedObjectActionParameter parm, INakedObject targetNakedObject, INakedObject valueNakedObject) {
     IConsent consent = parm.IsValid(targetNakedObject, valueNakedObject);
     if (!consent.IsAllowed) {
         ModelState.AddModelError(IdHelper.GetParameterInputId(action, parm), consent.Reason);
     }
 }
Example #6
0
 internal INakedObject GetParameterValue(INakedObjectActionParameter parm, string name, ObjectAndControlData controlData) {
     object value = GetRawParameterValue(parm, controlData, name);
     var nakedObject = GetParameterValue(parm, value);
     return FilterCollection(nakedObject, controlData);
 }
Example #7
0
 public NakedObjectActionParameterWrapper(INakedObjectActionParameter nakedObjectActionParameter, INakedObjectsSurface surface, string overloadedUniqueId) {
     this.nakedObjectActionParameter = nakedObjectActionParameter;
     this.overloadedUniqueId = overloadedUniqueId;
     Surface = surface;
 }
Example #8
0
 public ParameterContext(bool embeddedInObject, object target, INakedObjectAction action, INakedObjectActionParameter parameter, bool isEdit)
     : base(embeddedInObject, target, action) {
     Parameter = parameter;
     IsParameterEdit = isEdit;
 }
Example #9
0
 public static string GetParameterAutoCompleteId(INakedObjectAction action, INakedObjectActionParameter parameter) {
     var id = GetParameterInputId(action, parameter);
     return parameter.Specification.IsParseable ? id : id + sep + autoCompleteName;
 }
Example #10
0
 public static string GetParameterInputId(INakedObjectAction action, INakedObjectActionParameter parameter) {
     return GetParameterId(action, parameter) + sep + InputOrSelect(parameter.Specification);
 }
Example #11
0
 public static string GetParameterId(INakedObjectAction action, INakedObjectActionParameter parameter) {
     return action.OnType.UniqueShortName() + sep + action.Id + sep +  NameUtils.CapitalizeName(parameter.Id);
 }