private Tuple <ActionWrapper, NakedObjectSpecification, NakedObjectActionParameter> GetActionParameterTypeInternal(string typeName, string actionName, string parmName)
        {
            if (string.IsNullOrEmpty(typeName.Trim()) || string.IsNullOrWhiteSpace(actionName.Trim()) || string.IsNullOrWhiteSpace(parmName.Trim()))
            {
                throw new BadRequestNOSException();
            }

            NakedObjectSpecification spec = [email protected]().loadSpecification(typeName);

            if (spec is NoMemberSpecification)
            {
                throw new TypeResourceNotFoundNOSException(typeName);
            }

            ActionWrapper action = spec.GetActionLeafNodes().SingleOrDefault(p => p.getId() == actionName);

            if (action == null)
            {
                throw new ActionResourceNotFoundNOSException(actionName);
            }

            NakedObjectActionParameter parm = action.GetParameters().SingleOrDefault(p => p.getId() == parmName);

            if (parm == null)
            {
                throw new ActionResourceNotFoundNOSException(parmName);
            }

            return(new Tuple <ActionWrapper, NakedObjectSpecification, NakedObjectActionParameter>(action, spec, parm));
        }
 public ActionParameterFacade(NakedObjectActionParameter nakedObjectActionParameter, Naked target, IFrameworkFacade frameworkFacade)
 {
     this.nakedObjectActionParameter = nakedObjectActionParameter;
     this.target     = target;
     FrameworkFacade = frameworkFacade;
 }