Browse Source

make Title and Url setters protected and expose Set method to handle validation.

pull/7746/head
Ilkay Ilknur 6 years ago
parent
commit
b6aced7866
  1. 4
      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

4
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); await CheckPageUrlAsync(input.Url);
} }
page.Title = input.Title; page.SetTitle(input.Title);
page.Url = input.Url; page.SetUrl(input.Url);
page.Description = input.Description; page.Description = input.Description;
await PageRepository.UpdateAsync(page); 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 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() 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); Title = Check.NotNullOrEmpty(title, nameof(title), PageConsts.MaxTitleLength);
Url = Check.NotNullOrWhiteSpace(url, nameof(url), PageConsts.MaxUrlLength); Url = Check.NotNullOrEmpty(url, nameof(url), PageConsts.MaxUrlLength);
Description = Check.Length(description, nameof(description), PageConsts.MaxDescriptionLength); Description = Check.Length(description, nameof(description), PageConsts.MaxDescriptionLength);
TenantId = tenantId; 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);
}
} }
} }
Loading…
Cancel
Save