From 1d06f06e372813c85ac769f4ac915d197dc4d3d5 Mon Sep 17 00:00:00 2001 From: Ilkay Ilknur Date: Tue, 16 Feb 2021 14:45:06 +0300 Subject: [PATCH 1/5] code refactoring - use single return statement. --- .../Volo/CmsKit/Public/Pages/PageAppService.cs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/Pages/PageAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/Pages/PageAppService.cs index 1e1d63bf71..481a773efc 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/Pages/PageAppService.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/Pages/PageAppService.cs @@ -14,14 +14,15 @@ namespace Volo.CmsKit.Public.Pages public virtual async Task FindByUrlAsync(string url) { + PageDto pageDto = null; var page = await PageRepository.FindByUrlAsync(url); - if (page == null) + if (page !=null) { - return null; + pageDto = ObjectMapper.Map(page); } - return ObjectMapper.Map(page); + return pageDto; } } } \ No newline at end of file From b6aced7866aa2094244cb491842dc4bd084e18fa Mon Sep 17 00:00:00 2001 From: Ilkay Ilknur Date: Tue, 16 Feb 2021 14:45:48 +0300 Subject: [PATCH 2/5] make Title and Url setters protected and expose Set method to handle validation. --- .../CmsKit/Admin/Pages/PageAdminAppService.cs | 4 +-- .../Volo/CmsKit/Pages/Page.cs | 32 ++++++++++++------- 2 files changed, 23 insertions(+), 13 deletions(-) diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Pages/PageAdminAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Pages/PageAdminAppService.cs index 3db45dac95..48a02eb6cf 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Pages/PageAdminAppService.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Pages/PageAdminAppService.cs @@ -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); diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Pages/Page.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Pages/Page.cs index 240fc629d6..dc22b8c002 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Pages/Page.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Pages/Page.cs @@ -8,26 +8,36 @@ namespace Volo.CmsKit.Pages { public class Page : FullAuditedAggregateRoot, 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); + } } } \ No newline at end of file From 96e3a9300cb38c17a22e5597fd0e438ccfa370de Mon Sep 17 00:00:00 2001 From: Ilkay Ilknur Date: Wed, 17 Feb 2021 16:11:14 +0300 Subject: [PATCH 3/5] use protected property instead of variable. --- .../Volo/CmsKit/Admin/Pages/PageAdminAppService.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Pages/PageAdminAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Pages/PageAdminAppService.cs index 48a02eb6cf..ce0a57800b 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Pages/PageAdminAppService.cs +++ b/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) { From 69c5294c69c04d1b55f1e1d2a4f0a398c0591e42 Mon Sep 17 00:00:00 2001 From: Ilkay Ilknur Date: Wed, 17 Feb 2021 16:11:41 +0300 Subject: [PATCH 4/5] app service renaming --- .../Pages/{PageAppService.cs => PagePublicAppService.cs} | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) rename modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/Pages/{PageAppService.cs => PagePublicAppService.cs} (71%) diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/Pages/PageAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/Pages/PagePublicAppService.cs similarity index 71% rename from modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/Pages/PageAppService.cs rename to modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/Pages/PagePublicAppService.cs index 481a773efc..a469046a43 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/Pages/PageAppService.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/Pages/PagePublicAppService.cs @@ -3,11 +3,11 @@ using Volo.CmsKit.Pages; namespace Volo.CmsKit.Public.Pages { - public class PageAppService : CmsKitPublicAppServiceBase, IPageAppService + public class PagePublicAppService : CmsKitPublicAppServiceBase, IPageAppService { - protected readonly IPageRepository PageRepository; + protected IPageRepository PageRepository { get; } - public PageAppService(IPageRepository pageRepository) + public PagePublicAppService(IPageRepository pageRepository) { PageRepository = pageRepository; } From 39f7247b595ff542d7ec91f98fc48be6810e68c6 Mon Sep 17 00:00:00 2001 From: Ilkay Ilknur Date: Wed, 17 Feb 2021 16:11:53 +0300 Subject: [PATCH 5/5] code formatting --- .../Volo/CmsKit/Pages/EfCorePageRepository.cs | 25 ++++++++++--------- 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/modules/cms-kit/src/Volo.CmsKit.EntityFrameworkCore/Volo/CmsKit/Pages/EfCorePageRepository.cs b/modules/cms-kit/src/Volo.CmsKit.EntityFrameworkCore/Volo/CmsKit/Pages/EfCorePageRepository.cs index 2fc6d92c52..c51a51c632 100644 --- a/modules/cms-kit/src/Volo.CmsKit.EntityFrameworkCore/Volo/CmsKit/Pages/EfCorePageRepository.cs +++ b/modules/cms-kit/src/Volo.CmsKit.EntityFrameworkCore/Volo/CmsKit/Pages/EfCorePageRepository.cs @@ -17,13 +17,14 @@ namespace Volo.CmsKit.Pages { } - public virtual async Task GetCountAsync(string filter = null, CancellationToken cancellationToken = default) + public virtual async Task 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> 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 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)); } } -} +} \ No newline at end of file