public List<Tag> GetTags(Nav nav) { using (var db = new BlogDbContext()) { var tags = new List<Tag>(); foreach (var t in db.TagEntities.Where(t=>t.NavId == nav.NavId)) { var tag = new Tag(nav) { TagId = t.TagId, TagName = WebHelper.UrlDecode(t.Name), Description = t.Description, PostCount = t.PostCount, }; tags.Add(tag); } return tags; } }
/// <summary> /// /// </summary> /// <param name="tag"></param> public void UpdateTag(Tag tag) { using (var db = new BlogDbContext()) { // check if a tag with this name exists in this nav var ent = db.TagEntities.FirstOrDefault(n => n.Name.ToLower() == tag.TagName.ToLower() && n.NavId == tag.Nav.NavId); if (ent != null) throw new SiteException("Tag exists."); // find the current tag ent = db.TagEntities.FirstOrDefault(n => n.TagId == tag.TagId); if (ent == null) return; // update it ent.Name = tag.TagName; ent.Description = tag.Description; // save it db.SaveChanges(); } }
/// <summary> /// Adds a tag. /// </summary> /// <param name="tag"></param> /// <returns></returns> /// <exception cref="BlogException">Throw if already exists</exception> public int AddTag(Tag tag) { using (var db = new BlogDbContext()) { if (db.TagEntities.FirstOrDefault(n => n.Name.ToLower() == tag.TagName.ToLower()) != null) throw new SiteException("Msg_Tag_Exists"); var ent = new TagEntity(); ent.Name = tag.TagName; ent.Description = tag.Description; ent.NavId = tag.Nav.NavId; db.TagEntities.Add(ent); db.SaveChanges(); return ent.TagId; } }
public void UpdateTag(Tag tag) { throw new NotImplementedException(); }
public int AddTag(Tag tag) { tagList.Add(tag); return tagList.Count; }
/// <summary> /// Returns a list of Tag object given a comma delimited tag string. /// If the string is null or empty, it will return an empty list of Tag object. /// </summary> /// <remarks>Used by AddPost and UpdatePost</remarks> public static List<Tag> GetTagsFromTagsString(Nav nav, string tagString) { if (string.IsNullOrWhiteSpace(tagString)) return new List<Tag>(); // convert tagString to List<string> List<string> tagNames = Tag.SplitTagsString(tagString); if (tagNames == null || tagNames.Count <= 0) { return new List<Tag>(); } List<Tag> tagList = new List<Tag>(); foreach (var tagName in tagNames) { Tag tag = new Tag(nav); tag.TagName = WebHelper.UrlEncode(Tag.ShortenTagName(tagName)); tagList.Add(tag); } return tagList; }
/// <summary> /// Updates tag by its id. /// </summary> public static void UpdateTag(Nav nav, int tagId, string tagName, string description) { if (string.IsNullOrWhiteSpace(tagName)) throw new SiteException("Tag cannot be empty."); Tag tag = new Tag(nav) { TagId = tagId, TagName = Tag.FormatTagName(tagName), Description = WebHelper.HtmlEncode(description), }; Provider.UpdateTag(tag); SiteCache.ClearRegion(nav.Slug); //SiteCache.Remove(BlogHelper.GetCacheKey_Posts(nav.Slug, QueryBy.Index)); // posts //SiteCache.Remove(BlogHelper.GetCacheKey_Tags(nav.Slug)); }