public BlogModel SaveDraft(SaveBlogDraftInput input) { Blog blog = null; if (input.Id == null) { User user = this._userRepository.Get(input.AuthorId); blog = user.CreateBlog(input); this.AddBlog(blog); } else { blog = this.Repository.GetBlogDetail(input.Id.Value); if (blog.AuthorId != input.AuthorId || blog.Status != BlogStatus.Unpublished) { throw new ServiceException("无效操作"); } blog.Author.UpdateBlog(blog, input); this.UpdateBlog(blog); } BlogModel ret = BlogModel.Create(blog); return(ret); }
public PagedData <BlogModel> GetUserBlogs(Pagination page, int authorId) { var result = this.Query().Where(a => a.AuthorId == authorId).Where(a => a.Status != BlogStatus.Deleted).OrderByDesc(a => a.Id).TakePageData(page); var ret = new PagedData <BlogModel>(result.TotalCount, result.CurrentPage, result.PageSize); ret.Models.AddRange(result.Models.Select(a => BlogModel.Create(a))); return(ret); }
public BlogNeighbour GetNeighbours(int id, int authorId) { BlogNeighbour ret = new BlogNeighbour(); var q = this.Query().Where(a => a.AuthorId == authorId && a.Status == BlogStatus.Published); ret.Prev = BlogModel.Create(q.Where(a => a.Id < id).OrderByDesc(a => a.Id).FirstOrDefault()); ret.Next = BlogModel.Create(q.Where(a => a.Id > id).OrderBy(a => a.Id).FirstOrDefault()); return(ret); }
public BlogModel AddAndPublish(AddBlogInput input) { User user = this._userRepository.Get(input.AuthorId); Blog blog = user.CreateBlog(input); user.PublishBlog(blog); this.AddBlog(blog); BlogModel ret = BlogModel.Create(blog); return(ret); }
public BlogModel Publish(PublishBlogInput input) { Blog blog = this.Repository.GetBlogDetail(input.Id, input.AuthorId); blog.Author.UpdateBlog(blog, input); if (blog.Status == BlogStatus.Unpublished) { blog.Author.PublishBlog(blog); } this.UpdateBlog(blog); BlogModel ret = BlogModel.Create(blog); return(ret); }
public async Task Create(Blog blog) { await _model.Create(blog); }
public BlogModel GetBlogDetail(int id) { return(BlogModel.Create(this.Repository.GetBlogDetail(id))); }