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; }
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(); }
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)); }