Revision: 62729
Updated Code
at March 8, 2013 05:52 by dego89
Updated Code
//Global Variables public MatchCollection priceMatch; public MatchCollection bathroomCollection; public MatchCollection bedroomCollection; public MatchCollection LandsizeCollection; /* List content based on taxonomy */ TaxonomyItemManager manager = new TaxonomyItemManager(); TaxonomyItemCriteria criteria = new TaxonomyItemCriteria(); criteria.AddFilter(TaxonomyItemProperty.TaxonomyName, CriteriaFilterOperator.EqualTo, community_name); List<TaxonomyItemData> ccdata = manager.GetList(criteria); /* Gather content preview info */ ContentManager cm = new ContentManager(); ContentTaxonomyCriteria criteria1 = new ContentTaxonomyCriteria(ContentProperty.Id, EkEnumeration.OrderByDirection.Ascending); /* Filter content based on taxonomy id based on the previous criteria filter */ criteria1.AddFilter(ccdata[0].TaxonomyId, true); List<ContentData> contentList1 = cm.GetList(criteria1); /* Parse xml to get price of specific mhc property */ Regex regexPrice = new Regex(@"(?<=\bPropertyTax>\b)[0-9\,]+"); Regex regexBathrooms = new Regex(@"(?<=\bBathrooms>\b)[0-9\,]+"); Regex regexBedrooms = new Regex(@"(?<=\bBedrooms>\b)[0-9\,]+"); Regex regexLandsize = new Regex(@"(?<=\bLandSize>\b)[a-z0-9\,\.\'\ ]+"); DataTable dt = new DataTable(); dt.Columns.Add("PropertyName"); dt.Columns.Add("Bed"); dt.Columns.Add("Bath"); dt.Columns.Add("SquareFeet"); dt.Columns.Add("PricePerMonth"); dt.Columns.Add("Link"); List<string> prices = new List<string>(); List<string> bathrooms = new List<string>(); List<string> bedrooms = new List<string>(); List<string> sqft = new List<string>(); for (int i = 0; i < contentList1.Count; i++) { priceMatch = regexPrice.Matches(contentList1[i].Html); foreach (Match m in priceMatch) { prices.Add(m.Value); } bathroomCollection = regexBathrooms.Matches(contentList1[i].Html); foreach (Match m in bathroomCollection) { bathrooms.Add(m.Value); } bedroomCollection = regexBedrooms.Matches(contentList1[i].Html); foreach (Match m in bedroomCollection) { bedrooms.Add(m.Value); } LandsizeCollection = regexLandsize.Matches(contentList1[i].Html); foreach (Match m in LandsizeCollection) { sqft.Add(m.Value); } dt.Rows.Add(contentList1[i].Title, bedrooms[i], bathrooms[i], sqft[i], prices[i], contentList1[i].Quicklink); } Repeater1.DataSource = dt; Repeater1.DataBind();
Revision: 62728
Updated Code
at March 8, 2013 05:47 by dego89
Updated Code
/* List content based on taxonomy */ TaxonomyItemManager manager = new TaxonomyItemManager(); TaxonomyItemCriteria criteria = new TaxonomyItemCriteria(); criteria.AddFilter(TaxonomyItemProperty.TaxonomyName, CriteriaFilterOperator.EqualTo, community_name); List<TaxonomyItemData> ccdata = manager.GetList(criteria); /* Gather content preview info */ ContentManager cm = new ContentManager(); ContentTaxonomyCriteria criteria1 = new ContentTaxonomyCriteria(ContentProperty.Id, EkEnumeration.OrderByDirection.Ascending); /* Filter content based on taxonomy id based on the previous criteria filter */ criteria1.AddFilter(ccdata[0].TaxonomyId, true); List<ContentData> contentList1 = cm.GetList(criteria1); /* Parse xml to get price of specific mhc property */ Regex regexPrice = new Regex(@"(?<=\bPropertyTax>\b)[0-9\,]+"); Regex regexBathrooms = new Regex(@"(?<=\bBathrooms>\b)[0-9\,]+"); Regex regexBedrooms = new Regex(@"(?<=\bBedrooms>\b)[0-9\,]+"); Regex regexLandsize = new Regex(@"(?<=\bLandSize>\b)[a-z0-9\,\.\'\ ]+"); DataTable dt = new DataTable(); dt.Columns.Add("PropertyName"); dt.Columns.Add("Bed"); dt.Columns.Add("Bath"); dt.Columns.Add("SquareFeet"); dt.Columns.Add("PricePerMonth"); dt.Columns.Add("Link"); List<string> prices = new List<string>(); List<string> bathrooms = new List<string>(); List<string> bedrooms = new List<string>(); List<string> sqft = new List<string>(); for (int i = 0; i < contentList1.Count; i++) { priceMatch = regexPrice.Matches(contentList1[i].Html); foreach (Match m in priceMatch) { prices.Add(m.Value); } bathroomCollection = regexBathrooms.Matches(contentList1[i].Html); foreach (Match m in bathroomCollection) { bathrooms.Add(m.Value); } bedroomCollection = regexBedrooms.Matches(contentList1[i].Html); foreach (Match m in bedroomCollection) { bedrooms.Add(m.Value); } LandsizeCollection = regexLandsize.Matches(contentList1[i].Html); foreach (Match m in LandsizeCollection) { sqft.Add(m.Value); } dt.Rows.Add(contentList1[i].Title, bedrooms[i], bathrooms[i], sqft[i], prices[i], contentList1[i].Quicklink); } Repeater1.DataSource = dt; Repeater1.DataBind();
Revision: 62727
Updated Code
at March 8, 2013 02:25 by dego89
Updated Code
/* List content based on taxonomy */ TaxonomyItemManager manager = new TaxonomyItemManager(); TaxonomyItemCriteria criteria = new TaxonomyItemCriteria(); criteria.AddFilter(TaxonomyItemProperty.TaxonomyName, CriteriaFilterOperator.EqualTo, community_name); //coomunity_name can be any string you need List<TaxonomyItemData> ccdata = manager.GetList(criteria); /* Gather content preview info */ ContentManager cm = new ContentManager(); ContentTaxonomyCriteria criteria1 = new ContentTaxonomyCriteria(ContentProperty.Id, EkEnumeration.OrderByDirection.Ascending); /* Filter content based on taxonomy id based on the previous criteria filter */ criteria1.AddFilter(ccdata[0].TaxonomyId, true); List<ContentData> contentList1 = cm.GetList(criteria1); /* Parse xml to get specific node, in this case, the price node */ Regex regex = new Regex(@"(?<=\bPrice>\b)[0-9\,]+"); //Match priceMatch; for (int i = 0; i < contentList1.Count; i++) { priceMatch = regex.Match(contentList1[i].Html); }
Revision: 62726
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at March 8, 2013 02:23 by dego89
Initial Code
/* List content based on taxonomy */ TaxonomyItemManager manager = new TaxonomyItemManager(); TaxonomyItemCriteria criteria = new TaxonomyItemCriteria(); criteria.AddFilter(TaxonomyItemProperty.TaxonomyName, CriteriaFilterOperator.EqualTo, community_name); List<TaxonomyItemData> ccdata = manager.GetList(criteria); /* Gather content preview info */ ContentManager cm = new ContentManager(); ContentTaxonomyCriteria criteria1 = new ContentTaxonomyCriteria(ContentProperty.Id, EkEnumeration.OrderByDirection.Ascending); /* Filter content based on taxonomy id based on the previous criteria filter */ criteria1.AddFilter(ccdata[0].TaxonomyId, true); List<ContentData> contentList1 = cm.GetList(criteria1); /* Parse xml to get specific node, in this case, the price node */ Regex regex = new Regex(@"(?<=\bPrice>\b)[0-9\,]+"); //Match priceMatch; for (int i = 0; i < contentList1.Count; i++) { priceMatch = regex.Match(contentList1[i].Html); }
Initial URL
http://i49.tinypic.com/345nacp.jpg
Initial Description
The following code retrieves a list of content based on a taxonomy id. The list is bound to a repeater that display a preview of the content with a quick link to a content page. The content comes in based on the previous taxonomy id but exposes a content list which can be used gather the html property's. Then I use a regex to take our specific nodes for the preview columns in my table.
Initial Title
Ektron list based on taxonomy id
Initial Tags
regex, list, api
Initial Language
C#