/// <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(); } }
public void Implement(IAlgorithmBuilder builder) { IDescriptive idesc = (IDescriptive)DrivenSignal; ISignalOrPortDescriptor desc = (ISignalOrPortDescriptor)idesc.Descriptor; builder.Store(DrivenSignal.ToSignalRef(SignalRef.EReferencedProperty.Next), Source.GetExpression()); }
/// <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()); }
public DescriptorNestingByProperty(IDescriptive declaringInstance, PropertyInfo property) : base(property) { _declaringInstance = declaringInstance; }
public DescriptorNestingByField(IDescriptive declaringInstance, FieldInfo field) : base(field) { _declaringInstance = declaringInstance; }