|
|
|
|
@ -6,6 +6,7 @@ using Volo.Abp.Application.Dtos;
|
|
|
|
|
using Volo.Abp.Data;
|
|
|
|
|
using Volo.Abp.GlobalFeatures;
|
|
|
|
|
using Volo.Abp.Users;
|
|
|
|
|
using Volo.CmsKit.Admin.MediaDescriptors;
|
|
|
|
|
using Volo.CmsKit.Blogs;
|
|
|
|
|
using Volo.CmsKit.GlobalFeatures;
|
|
|
|
|
using Volo.CmsKit.Permissions;
|
|
|
|
|
@ -22,16 +23,20 @@ public class BlogPostAdminAppService : CmsKitAppServiceBase, IBlogPostAdminAppSe
|
|
|
|
|
protected IBlogRepository BlogRepository { get; }
|
|
|
|
|
protected ICmsUserLookupService UserLookupService { get; }
|
|
|
|
|
|
|
|
|
|
protected IMediaDescriptorAdminAppService MediaDescriptorAdminAppService { get; }
|
|
|
|
|
|
|
|
|
|
public BlogPostAdminAppService(
|
|
|
|
|
BlogPostManager blogPostManager,
|
|
|
|
|
IBlogPostRepository blogPostRepository,
|
|
|
|
|
IBlogRepository blogRepository,
|
|
|
|
|
ICmsUserLookupService userLookupService)
|
|
|
|
|
ICmsUserLookupService userLookupService,
|
|
|
|
|
IMediaDescriptorAdminAppService mediaDescriptorAdminAppService)
|
|
|
|
|
{
|
|
|
|
|
BlogPostManager = blogPostManager;
|
|
|
|
|
BlogPostRepository = blogPostRepository;
|
|
|
|
|
BlogRepository = blogRepository;
|
|
|
|
|
UserLookupService = userLookupService;
|
|
|
|
|
MediaDescriptorAdminAppService = mediaDescriptorAdminAppService;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[Authorize(CmsKitAdminPermissions.BlogPosts.Create)]
|
|
|
|
|
@ -59,13 +64,18 @@ public class BlogPostAdminAppService : CmsKitAppServiceBase, IBlogPostAdminAppSe
|
|
|
|
|
public virtual async Task<BlogPostDto> UpdateAsync(Guid id, UpdateBlogPostDto input)
|
|
|
|
|
{
|
|
|
|
|
var blogPost = await BlogPostRepository.GetAsync(id);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
blogPost.SetTitle(input.Title);
|
|
|
|
|
blogPost.SetShortDescription(input.ShortDescription);
|
|
|
|
|
blogPost.SetContent(input.Content);
|
|
|
|
|
blogPost.SetConcurrencyStampIfNotNull(input.ConcurrencyStamp);
|
|
|
|
|
|
|
|
|
|
if (blogPost.CoverImageMediaId != null && input.CoverImageMediaId == null)
|
|
|
|
|
{
|
|
|
|
|
await MediaDescriptorAdminAppService.DeleteAsync(blogPost.CoverImageMediaId.Value);
|
|
|
|
|
}
|
|
|
|
|
blogPost.CoverImageMediaId = input.CoverImageMediaId;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (blogPost.Slug != input.Slug)
|
|
|
|
|
{
|
|
|
|
|
await BlogPostManager.SetSlugUrlAsync(blogPost, input.Slug);
|
|
|
|
|
@ -110,4 +120,4 @@ public class BlogPostAdminAppService : CmsKitAppServiceBase, IBlogPostAdminAppSe
|
|
|
|
|
{
|
|
|
|
|
await BlogPostRepository.DeleteAsync(id);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|