Browse Source

Merge pull request #7746 from abpframework/page-refactoring

CMS Kit - Page refactoring
pull/7784/head
İlkay İlknur 5 years ago
committed by GitHub
parent
commit
673cdd0f35
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 6
      modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Pages/PageAdminAppService.cs
  2. 32
      modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Pages/Page.cs
  3. 25
      modules/cms-kit/src/Volo.CmsKit.EntityFrameworkCore/Volo/CmsKit/Pages/EfCorePageRepository.cs
  4. 9
      modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/Pages/PagePublicAppService.cs

6
modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Pages/PageAdminAppService.cs

@ -14,7 +14,7 @@ namespace Volo.CmsKit.Admin.Pages
[Authorize(CmsKitAdminPermissions.Pages.Default)]
public class PageAdminAppService : CmsKitAdminAppServiceBase, IPageAdminAppService
{
protected readonly IPageRepository PageRepository;
protected IPageRepository PageRepository { get; }
public PageAdminAppService(IPageRepository pageRepository)
{
@ -66,8 +66,8 @@ namespace Volo.CmsKit.Admin.Pages
await CheckPageUrlAsync(input.Url);
}
page.Title = input.Title;
page.Url = input.Url;
page.SetTitle(input.Title);
page.SetUrl(input.Url);
page.Description = input.Description;
await PageRepository.UpdateAsync(page);

32
modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Pages/Page.cs

@ -8,26 +8,36 @@ namespace Volo.CmsKit.Pages
{
public class Page : FullAuditedAggregateRoot<Guid>, IMultiTenant
{
public Guid? TenantId { get; set; }
[CanBeNull] public virtual Guid? TenantId { get; set; }
public virtual string Title { get; set; }
[NotNull] public virtual string Title { get; protected set; }
[NotNull] public virtual string Url { get; protected set; }
[CanBeNull] public virtual string Description { get; set; }
public virtual string Url { get; set; }
public virtual string Description { get; set; }
protected Page()
{
}
public Page(Guid id, [NotNull] string title, [NotNull] string url, [CanBeNull] string description = null, Guid? tenantId = null) : base(id)
public Page(Guid id, [NotNull] string title, [NotNull] string url, [CanBeNull] string description = null,
Guid? tenantId = null) : base(id)
{
Title = Check.NotNullOrWhiteSpace(title, nameof(title), PageConsts.MaxTitleLength);
Url = Check.NotNullOrWhiteSpace(url, nameof(url), PageConsts.MaxUrlLength);
Title = Check.NotNullOrEmpty(title, nameof(title), PageConsts.MaxTitleLength);
Url = Check.NotNullOrEmpty(url, nameof(url), PageConsts.MaxUrlLength);
Description = Check.Length(description, nameof(description), PageConsts.MaxDescriptionLength);
TenantId = tenantId;
}
public virtual void SetTitle(string title)
{
Title = Check.NotNullOrEmpty(title, nameof(title), PageConsts.MaxTitleLength);
}
public virtual void SetUrl(string url)
{
Url = Check.NotNullOrEmpty(url, nameof(url), PageConsts.MaxUrlLength);
}
}
}

25
modules/cms-kit/src/Volo.CmsKit.EntityFrameworkCore/Volo/CmsKit/Pages/EfCorePageRepository.cs

@ -17,13 +17,14 @@ namespace Volo.CmsKit.Pages
{
}
public virtual async Task<int> GetCountAsync(string filter = null, CancellationToken cancellationToken = default)
public virtual async Task<int> GetCountAsync(string filter = null,
CancellationToken cancellationToken = default)
{
return await (await GetDbSetAsync()).WhereIf(
!filter.IsNullOrWhiteSpace(),
x =>
x.Title.Contains(filter)
).CountAsync(GetCancellationToken(cancellationToken));
!filter.IsNullOrWhiteSpace(),
x =>
x.Title.Contains(filter)
).CountAsync(GetCancellationToken(cancellationToken));
}
public virtual async Task<List<Page>> GetListAsync(
@ -34,12 +35,12 @@ namespace Volo.CmsKit.Pages
CancellationToken cancellationToken = default)
{
return await (await GetDbSetAsync()).WhereIf(
!filter.IsNullOrWhiteSpace(),
x =>
x.Title.Contains(filter))
.OrderBy(sorting ?? nameof(Page.Title))
.PageBy(skipCount, maxResultCount)
.ToListAsync(GetCancellationToken(cancellationToken));
!filter.IsNullOrWhiteSpace(),
x =>
x.Title.Contains(filter))
.OrderBy(sorting ?? nameof(Page.Title))
.PageBy(skipCount, maxResultCount)
.ToListAsync(GetCancellationToken(cancellationToken));
}
public virtual Task<Page> GetByUrlAsync(string url, CancellationToken cancellationToken = default)
@ -57,4 +58,4 @@ namespace Volo.CmsKit.Pages
return await (await GetDbSetAsync()).AnyAsync(x => x.Url == url, GetCancellationToken(cancellationToken));
}
}
}
}

9
modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/Pages/PagePublicAppService.cs

@ -5,7 +5,7 @@ namespace Volo.CmsKit.Public.Pages
{
public class PagePublicAppService : CmsKitPublicAppServiceBase, IPagePublicAppService
{
protected readonly IPageRepository PageRepository;
protected IPageRepository PageRepository { get; }
public PagePublicAppService(IPageRepository pageRepository)
{
@ -14,14 +14,15 @@ namespace Volo.CmsKit.Public.Pages
public virtual async Task<PageDto> FindByUrlAsync(string url)
{
PageDto pageDto = null;
var page = await PageRepository.FindByUrlAsync(url);
if (page == null)
if (page !=null)
{
return null;
pageDto = ObjectMapper.Map<Page, PageDto>(page);
}
return ObjectMapper.Map<Page, PageDto>(page);
return pageDto;
}
}
}
Loading…
Cancel
Save