예제 #1
0
        private ObjectEnterspeedProperty ConvertToEnterspeedProperty(Link link, UmbracoContext context, string culture)
        {
            if (link == null)
            {
                return(null);
            }

            var properties = new Dictionary <string, IEnterspeedProperty>
            {
                { "name", new StringEnterspeedProperty(link.Name) },
                { "target", new StringEnterspeedProperty(link.Target) }
            };

            var linkType = Enum.GetName(typeof(LinkType), link.Type);

            properties.Add("type", new StringEnterspeedProperty(linkType));
            var url = link.Url;

            StringEnterspeedProperty idProperty = null;

            if (link.Udi != null)
            {
                if (link.Udi.EntityType == "document")
                {
                    var content = context.Content.GetById(link.Udi);
                    if (content != null)
                    {
                        idProperty = new StringEnterspeedProperty(_entityIdentityService.GetId(content, culture));
                    }
                }
                else if (link.Udi.EntityType == "media")
                {
                    var media = context.Media.GetById(link.Udi);
                    if (media != null)
                    {
                        idProperty = new StringEnterspeedProperty(_entityIdentityService.GetId(media, culture));
                        url        = _mediaUrlProvider.GetUrl(media);
                    }
                }
            }

            properties.Add("id", idProperty);
            properties.Add("url", new StringEnterspeedProperty(url));

            return(new ObjectEnterspeedProperty(properties));
        }
예제 #2
0
        public void TypeIs_Number()
        {
            var property = new StringEnterspeedProperty("test", "value");

            Assert.Equal("string", property.Type);
        }
예제 #3
0
        public void ValueIs_Equal()
        {
            var property = new StringEnterspeedProperty("test", "value");

            Assert.Equal("value", property.Value);
        }
예제 #4
0
        public void NameIs_Null()
        {
            var property = new StringEnterspeedProperty("value");

            Assert.Null(property.Name);
        }