コード例 #1
0
            internal static SiteMapEntity[] GetEntities(string EntityType)
            {
                List <SiteMapEntity> _list = new List <SiteMapEntity>();

                SqlCommand getCommand = getEntitySQL(EntityType);
                Action <System.Data.IDataReader> readEntities = rd =>
                {
                    while (rd.Read())
                    {
                        SiteMapEntity entity = new SiteMapEntity();
                        entity.EntityID   = rd.FieldInt("ID");
                        entity.Name       = XmlCommon.GetLocaleEntry(rd.Field("Name"), Customer.Current.LocaleSetting, false);
                        entity.SEName     = rd.Field("SEName");
                        entity.EntityType = EntityType;
                        _list.Add(entity);
                    }
                };

                DB.UseDataReader(getCommand, readEntities);
                return(_list.ToArray());
            }
コード例 #2
0
        private void writeEntity(String group)
        {
            SiteMapEntity[] entities;
            if (group.ToLowerInvariant() != "topic")
            {
                entities = NestedSiteMapEntity.GetEntities(group);
            }
            else
            {
                entities = SiteMapEntity.GetTopics(group);
            }
            if (entities.Length == 0)
            {
                return;
            }
            XmlElement   cat = mapDoc.CreateElement("node");
            XmlAttribute txt = mapDoc.CreateAttribute("Text");

            txt.Value = getHeader(group);
            cat.Attributes.Append(txt);
            this.SiteMapRoot.AppendChild(cat);

            if (group.Equals("topic", StringComparison.OrdinalIgnoreCase))
            {
                foreach (SiteMapEntity ent in entities)
                {
                    cat.AppendChild(ent.ToSiteMapTopicNode(mapDoc));
                }
            }
            else
            {
                foreach (SiteMapEntity ent in entities)
                {
                    cat.AppendChild(ent.ToSiteMapNode(mapDoc));
                }
            }
        }
コード例 #3
0
            internal static SiteMapEntity[] GetTopics(string group)
            {
                List <SiteMapEntity>             _list      = new List <SiteMapEntity>();
                SqlCommand                       getCommand = new SqlCommand("select * from Topic where Deleted = 0 and Published=1 and ShowInSiteMap = 1 " + CommonLogic.IIF(SiteMap.Settings.TopicFiltering, " and (storeid = 0 or storeid =" + AppLogic.StoreID() + ")", "") + " order by storeid desc, DisplayOrder desc, name");
                Action <System.Data.IDataReader> readTopics = rd =>
                {
                    while (rd.Read())
                    {
                        SiteMapEntity entity = new SiteMapEntity();
                        entity.EntityID   = rd.FieldInt("TopicID");
                        entity.Name       = XmlCommon.GetLocaleEntry(rd.Field("Name"), Customer.Current.LocaleSetting, false);
                        entity.SEName     = XmlCommon.GetLocaleEntry(rd.Field("Name"), Customer.Current.LocaleSetting, false);
                        entity.EntityType = "topic";
                        if (_list.FirstOrDefault(t => t.Name == entity.Name) == null)
                        {
                            _list.Add(entity);
                        }
                    }
                };

                DB.UseDataReader(getCommand, readTopics);

                return(_list.ToArray());
            }