public UriMtHelper(IOidStrategy oidStrategy, HttpRequestMessage req, ParameterTypeContextFacade parameterTypeContext)
     : this(oidStrategy, req)
 {
     action     = parameterTypeContext.Action;
     spec       = parameterTypeContext.OwningSpecification;
     param      = parameterTypeContext.Parameter;
     cachedId   = "";
     CachedType = spec.DomainTypeName(oidStrategy);
 }
 private void SetScalars(ParameterTypeContextFacade parameterTypeContext)
 {
     Id           = parameterTypeContext.Parameter.Id;
     Number       = parameterTypeContext.Parameter.Number;
     Name         = parameterTypeContext.Parameter.Id;
     FriendlyName = parameterTypeContext.Parameter.Name;
     Description  = parameterTypeContext.Parameter.Description;
     Optional     = !parameterTypeContext.Parameter.IsMandatory;
 }
Example #3
0
        public RestSnapshot(IOidStrategy oidStrategy, ParameterTypeContextFacade parameterTypeContext, HttpRequestMessage req, RestControlFlags flags)
            : this(oidStrategy, req, true)
        {
            logger.DebugFormat("RestSnapshot:{0}", parameterTypeContext.GetType().FullName);

            populator = () => {
                representation = ParameterTypeRepresentation.Create(oidStrategy, req, parameterTypeContext, flags);
                SetHeaders();
            };
        }
        private void SetLinks(HttpRequestMessage req, ParameterTypeContextFacade parameterTypeContext)
        {
            var domainTypeUri = new UriMtHelper(OidStrategy, req, parameterTypeContext);

            var tempLinks = new List <LinkRepresentation> {
                LinkRepresentation.Create(OidStrategy, SelfRelType, Flags),
                LinkRepresentation.Create(OidStrategy, new TypeMemberRelType(RelValues.Up, domainTypeUri), Flags),
                LinkRepresentation.Create(OidStrategy, new DomainTypeRelType(RelValues.ReturnType, new UriMtHelper(OidStrategy, req, parameterTypeContext.Parameter.Specification)), Flags)
            };

            Links = tempLinks.ToArray();
        }
Example #5
0
        private void SetLinks(HttpRequestMessage req, IObjectFacade objectFacade, IActionParameterFacade parameter)
        {
            var tempLinks = new List <LinkRepresentation>();


            if (Flags.FormalDomainModel)
            {
                var parameterTypeContext = new ParameterTypeContextFacade {
                    Action = parameter.Action,
                    OwningSpecification = objectFacade.Specification,
                    Parameter           = parameter
                };
                LinkRepresentation describedBy = LinkRepresentation.Create(OidStrategy, new ParamTypeRelType(RelValues.DescribedBy, new UriMtHelper(OidStrategy, req, parameterTypeContext)), Flags);
                tempLinks.Add(describedBy);
            }

            if (parameter.IsAutoCompleteEnabled || parameter.GetChoicesParameters().Any())
            {
                tempLinks.Add(CreatePromptLink(req, objectFacade, parameter));
            }

            Links = tempLinks.ToArray();
        }
 protected ParameterTypeRepresentation(IOidStrategy oidStrategy, HttpRequestMessage req, ParameterTypeContextFacade parameterTypeContext, RestControlFlags flags)
     : base(oidStrategy, flags)
 {
     SetScalars(parameterTypeContext);
     SelfRelType = new ParamTypeRelType(RelValues.Self, new UriMtHelper(oidStrategy, req, parameterTypeContext));
     SetLinks(req, parameterTypeContext);
     SetExtensions();
     SetHeader();
 }
        public static ParameterTypeRepresentation Create(IOidStrategy oidStrategy, HttpRequestMessage req, ParameterTypeContextFacade parameterTypeContext, RestControlFlags flags)
        {
            if (!parameterTypeContext.Parameter.Specification.IsParseable)
            {
                return(new ParameterTypeRepresentation(oidStrategy, req, parameterTypeContext, flags));
            }
            var exts = new Dictionary <string, object>();

            AddStringProperties(parameterTypeContext.Parameter.Specification, parameterTypeContext.Parameter.MaxLength, parameterTypeContext.Parameter.Pattern, exts);

            OptionalProperty[] parms = exts.Select(e => new OptionalProperty(e.Key, e.Value)).ToArray();

            return(CreateWithOptionals <ParameterTypeRepresentation>(new object[] { oidStrategy, req, parameterTypeContext, flags }, parms));
        }