public async Task <TagBlog> FindOrCreate(string IdOrName) { var data = await db.TagBlogs.FindAsync(IdOrName); if (data != null) { return(data); } data = await db.TagBlogs.FirstOrDefaultAsync(x => x.Name == IdOrName); if (data != null) { return(data); } data = new TagBlog() { Id = new DBHelper().GetTagBlogId(db), Name = IdOrName, }; db.TagBlogs.Add(data); if ((await db.SaveMessageAsync() != null)) { return(null); } return(data); }
public ActionResult <TagBlog> Create([FromBody] TagBlog newTagBlog) { try { return(Ok(_tbs.Create(newTagBlog))); } catch (System.Exception err) { return(BadRequest(err.Message)); } }
public ActionResult <TagBlog> Create([FromBody] TagBlog newTagBlog) { try { return(Ok(_tbs.Create(newTagBlog))); } catch (System.Exception) { throw; } }
internal TagBlog Create(TagBlog newTagBlog) { string sql = @" INSERT INTO tagblogs (blogId, tagId) VALUES (@BlogId, @TagId); SELECT LAST_INSERT_ID()"; newTagBlog.Id = _db.ExecuteScalar <int>(sql, newTagBlog); return(newTagBlog); }
public async Task <ActionResult> Edit([Bind(Include = "Id,FullName")] TagBlog tag) { if (await db.TagBlogs.AnyAsync(x => x.Id != tag.Id && x.FullName == tag.FullName)) { return(Json(Js.Error(Global.TagBlogUsed))); } ; tag.Name = tag.FullName.GetSafeName(); db.Entry(tag).State = EntityState.Modified; var str = await db.SaveMessageAsync(); if (str != null) { return(Json(str.GetError())); } return(Json(Js.SuccessRedirect(TD.Global.TagBlogChanged, "/admin/tagblogs")));; }
public async Task <ActionResult> Create([Bind(Include = "Id,FullName")] TagBlog tag) { if (db.TagBlogs.Any(x => x.FullName == tag.FullName)) { return(Json(Js.Error(TD.Global.TagBlogUsed)));; } tag.Id = new DBHelper().GetTagBlogId(db); tag.Name = tag.FullName.GetSafeName(); db.TagBlogs.Add(tag); var str = await db.SaveMessageAsync(); if (str != null) { return(Json(Js.Error(str))); } return(Json(Js.SuccessRedirect(TD.Global.TagBlogInserted, "/admin/tagblogs")));; }
public async Task <ActionResult> DeleteConfirmed(string id) { if (string.IsNullOrEmpty(id)) { return(Json(Js.Error(Global.NoData))); } TagBlog tag = await db.TagBlogs.FindAsync(id); if (tag == null) { return(Json(Js.Error(Global.NoData))); } db.TagBlogs.Remove(tag); var str = await db.SaveMessageAsync(); if (str != null) { return(Json(str.GetError())); } return(Json(Js.SuccessRedirect(TD.Global.TagBlogRemove, "/admin/tagblogs")));; }
public async Task <ActionResult> Edit(BlogEditModel model) { var db = new TDContext(); var currentUser = User.Identity.GetUserId(); var blog = await db.Blogs.FindAsync(model.Id); if (blog == null) { return(Json(Js.Error("Không tìm thấy bài viết"))); } blog.FullName = model.FullName; blog.Name = model.FullName.GetSafeName(); blog.Content = await model.Content.GetValidHtml(); blog.ReasonModify += model.ReasonModify; blog.MarkDelete = model.MarkDelete; blog.Summary = await blog.Content.GetSummary(); blog.LongSummary = await blog.Content.GetSummary(500); blog.ModifierId = currentUser; blog.LastModify = DateTime.UtcNow; blog.Closed = model.Closed; if (model.TagBlogId != null) { var lstSelect = new List <string>(); foreach (string item in model.TagBlogId) { Guid tagId = item.ToGuid(); TagBlog findTagBlog = null; if (tagId != Guid.Empty) { findTagBlog = db.TagBlogs.Find(tagId); } if (findTagBlog == null) { findTagBlog = db.TagBlogs.FirstOrDefault(x => x.FullName == item); if (findTagBlog == null) { findTagBlog = new TagBlog(); //TagBlog(item); Fix db.TagBlogs.Add(findTagBlog); } } lstSelect.Add(findTagBlog.Id); } var current = blog.BlogTags.Select(x => x.TagBlogId).ToList(); foreach (var item in current) { if (!lstSelect.Contains(item)) { var find = db.BlogTags.Find(item, blog.Id); if (find != null) { db.BlogTags.Remove(find); } } } } if (!string.IsNullOrEmpty(model.ParentId)) { var parent = await db.Blogs.FindAsync(model.ParentId); if (parent != null) { blog.ParentId = parent.Id; var lstAdd = new List <string>(); foreach (var item in parent.BlogTags.Select(x => x.TagBlogId)) { if (!lstAdd.Contains(item) && !await db.BlogTags.AnyAsync(x => x.TagBlogId == item && x.BlogId == model.Id)) { db.BlogTags.Add(new BlogTag { BlogId = model.Id, TagBlogId = item, }); lstAdd.Add(item); } } } } db.Entry(blog).State = EntityState.Modified; var res = await db.SaveMessageAsync(); if (!string.IsNullOrEmpty(res)) { return(Json(Js.Error(res))); } return(Json(Js.SuccessRedirect(Global.BlogChanged, "/admin/blogs"))); }
internal TagBlog Create(TagBlog newTagBlog) { return(_repo.Create(newTagBlog)); }