private void SetScalars(PropertyTypeContextSurface propertyContext)
 {
     Id           = propertyContext.Property.Id;
     FriendlyName = propertyContext.Property.Name();
     Description  = propertyContext.Property.Description();
     MemberOrder  = propertyContext.Property.MemberOrder();
 }
 public UriMtHelper(HttpRequestMessage req, PropertyTypeContextSurface propertyContext)
     : this(req) {
     assoc      = propertyContext.Property;
     spec       = propertyContext.OwningSpecification;
     cachedId   = "";
     cachedType = spec.DomainTypeName();
 }
 protected MemberTypeRepresentation(HttpRequestMessage req, PropertyTypeContextSurface propertyContext, RestControlFlags flags) : base(flags)
 {
     SetScalars(propertyContext);
     SelfRelType = new TypeMemberRelType(RelValues.Self, new UriMtHelper(req, propertyContext));
     SetExtensions();
     SetHeader();
 }
        private void SetLinks(HttpRequestMessage req, PropertyTypeContextSurface propertyContext)
        {
            IList <LinkRepresentation> tempLinks = CreateLinks(req, propertyContext);

            tempLinks.Add(LinkRepresentation.Create(new DomainTypeRelType(RelValues.ReturnType, new UriMtHelper(req, propertyContext.Property.Specification)), Flags));
            Links = tempLinks.ToArray();
        }
示例#5
0
 public RestSnapshot(PropertyTypeContextSurface propertyTypeContext, HttpRequestMessage req, RestControlFlags flags)
     : this(req, true)
 {
     logger.DebugFormat("RestSnapshot:{0}", propertyTypeContext.GetType().FullName);
     populator = () => {
         representation = MemberTypeRepresentation.Create(req, propertyTypeContext, flags);
         SetHeaders();
     };
 }
        protected IList <LinkRepresentation> CreateLinks(HttpRequestMessage req, PropertyTypeContextSurface propertyContext)
        {
            var domainTypeUri = new UriMtHelper(req, propertyContext);

            return(new List <LinkRepresentation> {
                LinkRepresentation.Create(SelfRelType, Flags),
                LinkRepresentation.Create(new DomainTypeRelType(RelValues.Up, domainTypeUri), Flags)
            });
        }
        public static MemberTypeRepresentation Create(HttpRequestMessage req, PropertyTypeContextSurface propertyContext, RestControlFlags flags)
        {
            if (propertyContext.Property.IsCollection())
            {
                return(CollectionTypeRepresentation.Create(req, propertyContext, flags));
            }

            Tuple <string, string> typeAndFormat = RestUtils.SpecToTypeAndFormatString(propertyContext.Property.Specification);

            if (typeAndFormat.Item1 == PredefinedType.String.ToRoString())
            {
                var exts = new Dictionary <string, object>();

                AddStringProperties(propertyContext.Property.Specification, propertyContext.Property.MaxLength(), propertyContext.Property.Pattern(), exts);

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

                return(CreateWithOptionals <PropertyTypeRepresentation>(new object[] { req, propertyContext, flags }, parms));
            }


            return(PropertyTypeRepresentation.Create(req, propertyContext, flags));
        }
示例#8
0
 public new static CollectionTypeRepresentation Create(HttpRequestMessage req, PropertyTypeContextSurface propertyContext, RestControlFlags flags)
 {
     return(new CollectionTypeRepresentation(req, propertyContext, flags));
 }
示例#9
0
 private void SetScalars(PropertyTypeContextSurface propertyContext)
 {
     PluralName = propertyContext.Property.ElementSpecification.PluralName();
 }
示例#10
0
 protected CollectionTypeRepresentation(HttpRequestMessage req, PropertyTypeContextSurface propertyContext, RestControlFlags flags) : base(req, propertyContext, flags)
 {
     SetScalars(propertyContext);
     SetLinks(req, propertyContext);
 }
 private void SetScalars(PropertyTypeContextSurface propertyContext)
 {
     Id       = propertyContext.Property.Id;
     Optional = !propertyContext.Property.IsMandatory();
 }