public NestedSiteMapEntity(UrlHelper url, SiteMapEntityHelper siteMapEntityHelper, SiteMapSettings settings) : base(url, siteMapEntityHelper) { Settings = settings; Children = new NestedSiteMapEntity[0]; Products = new SiteMapProduct[0]; }
public StandardSiteMap(UrlHelper urlHelper, SiteMapSettings settings, SiteMapEntityHelper siteMapEntityHelper, NestedSiteMapEntityHelper nestedSiteMapEntityHelper) { UrlHelper = urlHelper; Settings = settings; SiteMapEntityHelper = siteMapEntityHelper; NestedSiteMapEntityHelper = nestedSiteMapEntityHelper; }
public void GetProducts(SiteMapSettings settings) { var retCmd = GetProductsCommand(); var xList = new List <SiteMapProduct>(); if (settings.ProductFiltering) { retCmd.Parameters["@StoreID"].Value = AppLogic.StoreID(); } Action <System.Data.IDataReader> readEntities = rd => { while (rd.Read()) { var prd = new SiteMapProduct(Url, SiteMapEntityHelper); prd.EntityID = rd.FieldInt("ProductID"); prd.Name = XmlCommon.GetLocaleEntry(rd.Field("Name"), Customer.Current.LocaleSetting, false); prd.SEName = rd.Field("SEName"); xList.Add(prd); } }; DB.UseDataReader(retCmd, readEntities); Products = xList.ToArray(); }
public NestedSiteMapEntity[] GetEntities(string EntityType, SiteMapSettings settings) { var _list = new Dictionary <int, NestedSiteMapEntity>(); var getCommand = GetEntitySQL(EntityType, settings); Action <System.Data.IDataReader> readEntities = rd => { while (rd.Read()) { var entity = new NestedSiteMapEntity(Url, SiteMapEntityHelper) { EntityID = rd.FieldInt("ID"), Name = XmlCommon.GetLocaleEntry(rd.Field("Name"), Customer.Current.LocaleSetting, false), SEName = rd.Field("SEName"), ParentEntityID = rd.FieldInt("ParentID"), EntityType = EntityType, }; entity.GetProducts(settings); _list.Add(entity.EntityID, entity); } }; DB.UseDataReader(getCommand, readEntities); return(OrganizeEntities(_list).ToArray()); }
string ProductXML(SiteMapProduct product, SiteMapSettings settings) { var link = UrlHelper .BuildProductLink(product.EntityID, product.SEName); return(string.Format( "<url><loc>{0}{1}</loc><changefreq>{2}</changefreq><priority>{3}</priority></url>\n", AppLogic.GetStoreHTTPLocation( useSsl: true, noVirtualNoSlash: true), link, settings.ObjectChangeFrequency, settings.ObjectPriority)); }
public string GetEntityProductURLNodes(string entityType, int EntityID, SiteMapSettings settings) { var entity = new NestedSiteMapEntity(UrlHelper, SiteMapEntityHelper); entity.EntityType = entityType; entity.EntityID = EntityID; entity.GetProducts(settings); var sb = new StringBuilder(); foreach (var siteMapProduct in entity.Products) { sb.Append(ProductXML(siteMapProduct, settings)); } return(sb.ToString()); }
public override XmlNode ToSiteMapNode(XmlDocument context, SiteMapSettings settings) { var node = SiteMapEntityHelper.SiteMapNode(Name, Url.BuildEntityLink(EntityType, EntityID, SEName), context); if (!settings.ShowProducts) { return(node); } foreach (SiteMapProduct prod in Products) { node.AppendChild(prod.ToSiteMapNode(context, settings)); } foreach (NestedSiteMapEntity ent in Children) { node.AppendChild(ent.ToSiteMapNode(context, settings)); } return(node); }
SqlCommand GetEntitySQL(string entityType, SiteMapSettings settings) { entityType = entityType.ToLowerInvariant(); var cmdGetEntities = new SqlCommand(string.Format(RetrieveSQL, entityType)); cmdGetEntities.Parameters.Add( new SqlParameter("@StoreID", DBNull.Value)); if (settings.EntityFiltering && (entityType == "category" || entityType == "manufacturer" || entityType == "section" || entityType == "vector" || entityType == "genre" || entityType == "distributor")) { cmdGetEntities.Parameters["@StoreID"].Value = AppLogic.StoreID(); } return(cmdGetEntities); }
public NestedSiteMapEntityHelper(UrlHelper url, SiteMapEntityHelper siteMapEntityHelper, SiteMapSettings settings) { Url = url; SiteMapEntityHelper = siteMapEntityHelper; Settings = settings; }
public SiteMapFeedController() { Settings = new SiteMapSettings(); SiteMapEntityHelper = new SiteMapEntityHelper(Url, Settings); NestedSiteMapEntityHelper = new NestedSiteMapEntityHelper(Url, SiteMapEntityHelper, Settings); }
public SiteMapEntityHelper(UrlHelper url, SiteMapSettings settings) { Url = url; Settings = settings; }
public string GetEntitySiteMap(string entityType, SiteMapSettings settings) { var entityMap = NestedSiteMapEntityHelper.GetEntities(entityType, settings); return(SiteMapNodes(entityMap)); }
public virtual XmlNode ToSiteMapNode(XmlDocument context, SiteMapSettings settings) { return(SiteMapEntityHelper.SiteMapNode(Name, Url.BuildEntityLink(EntityType, EntityID, SEName), context)); }