Esempio n. 1
0
        /// <summary>
        /// Set Categories
        /// </summary>
        /// <param name="item">Item</param>
        public static void SetCategories(this IDescriptive item)
        {
            var descriptionCategories = item.Description.ParseCategories();
            var categories            = new List <string>();

            if (null != descriptionCategories)
            {
                categories.AddRange(descriptionCategories);
            }
            var titleCategories = item.Title.ParseCategories();

            if (null != titleCategories)
            {
                categories.AddRange(titleCategories);
            }
            var tagCategories = item.Tags.ParseCategories();

            if (null != tagCategories)
            {
                categories.AddRange(tagCategories);
            }

            if (0 < categories.Count)
            {
                item.Categories = categories.Distinct();
            }
        }
Esempio n. 2
0
            public void Implement(IAlgorithmBuilder builder)
            {
                IDescriptive            idesc = (IDescriptive)DrivenSignal;
                ISignalOrPortDescriptor desc  = (ISignalOrPortDescriptor)idesc.Descriptor;

                builder.Store(DrivenSignal.ToSignalRef(SignalRef.EReferencedProperty.Next),
                              Source.GetExpression());
            }
Esempio n. 3
0
        /// <summary>
        /// Render HTML for Display
        /// </summary>
        /// <returns>HTML Fragment (minimal markup)</returns>
        public static string RenderDisplayHtml(this IDescriptive thing, bool isOffer = true)
        {
            var display = new StringBuilder(thing.Description);

            display.Replace("\n", "<br/>");

            var urls = thing.Description.ParseUrls();

            if (null != urls)
            {
                foreach (var url in urls)
                {
                    display.Replace(url, string.Format("<a class='user-link' href='{0}' target='_blank' onclick='_gaq.push(['_trackEvent', 'Offsite', 'Link', 'User-Item-Request'])'>External Link</a>", url));
                }
            }

            if (null == thing.Categories)
            {
                thing.SetCategories();
            }

            if (null != thing.Categories)
            {
                var page            = isOffer ? "offer" : "wanted";
                var isReferenceType = thing is IReferenceType;
                var temp            = display.ToString();
                foreach (var category in thing.Categories)
                {
                    string url = null;
                    if (isReferenceType)
                    {
                        url = ((IReferenceType)thing).RelativeSearch(category);
                    }
                    else
                    {
                        url = string.Format("/search/{0}?s={1}", page, category);
                    }

                    temp = Regex.Replace(temp, "([#]" + category + "\\b{1})", string.Format("<a href='{0}&c=tag_embeded'>#{1}</a>", url, category));
                }

                display = new StringBuilder(temp);
            }

            return(display.ToString());
        }
Esempio n. 4
0
 public DescriptorNestingByProperty(IDescriptive declaringInstance, PropertyInfo property) :
     base(property)
 {
     _declaringInstance = declaringInstance;
 }
Esempio n. 5
0
 public DescriptorNestingByField(IDescriptive declaringInstance, FieldInfo field) :
     base(field)
 {
     _declaringInstance = declaringInstance;
 }
 public DescriptorNestingByProperty(IDescriptive declaringInstance, PropertyInfo property) :
     base(property)
 {
     _declaringInstance = declaringInstance;
 }
 public DescriptorNestingByField(IDescriptive declaringInstance, FieldInfo field) :
     base(field)
 {
     _declaringInstance = declaringInstance;
 }