Browse Source

added routing to page

pull/7335/head
Ahmet 6 years ago
parent
commit
9e9c315d81
  1. 2
      modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Public/Pages/IPageAppService.cs
  2. 4
      modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/Pages/PageAppService.cs
  3. 2
      modules/cms-kit/src/Volo.CmsKit.Public.HttpApi/Volo/CmsKit/Public/Pages/PagesPublicController.cs
  4. 2
      modules/cms-kit/src/Volo.CmsKit.Public.Web/CmsKitPublicWebModule.cs
  5. 11
      modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Pages/Index.cshtml.cs
  6. 11
      modules/cms-kit/test/Volo.CmsKit.Application.Tests/Pages/PagePublicAppService_Tests.cs

2
modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Public/Pages/IPageAppService.cs

@ -5,6 +5,6 @@ namespace Volo.CmsKit.Public.Pages
{
public interface IPageAppService
{
Task<PageDto> GetByUrlAsync([NotNull] string url);
Task<PageDto> FindByUrlAsync([NotNull] string url);
}
}

4
modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/Pages/PageAppService.cs

@ -12,9 +12,9 @@ namespace Volo.CmsKit.Public.Pages
PageRepository = pageRepository;
}
public virtual async Task<PageDto> GetByUrlAsync(string url)
public virtual async Task<PageDto> FindByUrlAsync(string url)
{
var page = await PageRepository.GetByUrlAsync(url);
var page = await PageRepository.FindByUrlAsync(url);
return ObjectMapper.Map<Page, PageDto>(page);
}

2
modules/cms-kit/src/Volo.CmsKit.Public.HttpApi/Volo/CmsKit/Public/Pages/PagesPublicController.cs

@ -20,7 +20,7 @@ namespace Volo.CmsKit.Public.Pages
[Route("url/{url}")]
public Task<PageDto> GetByUrlAsync(string url)
{
return PageAppService.GetByUrlAsync(url);
return PageAppService.FindByUrlAsync(url);
}
}
}

2
modules/cms-kit/src/Volo.CmsKit.Public.Web/CmsKitPublicWebModule.cs

@ -56,7 +56,7 @@ namespace Volo.CmsKit.Public.Web
Configure<RazorPagesOptions>(options =>
{
//...
options.Conventions.AddPageRoute("/CmsKit/Pages/Index", "/{pageUrl}");
});
}
}

11
modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Pages/Index.cshtml.cs

@ -19,9 +19,16 @@ namespace Volo.CmsKit.Public.Web.Pages.CmsKit.Pages
PageAppService = pageAppService;
}
public async Task OnGetAsync()
public async Task<IActionResult> OnGetAsync()
{
Page = await PageAppService.GetByUrlAsync(PageUrl);
Page = await PageAppService.FindByUrlAsync(PageUrl);
if (Page == null)
{
return NotFound();
}
return Page();
}
}
}

11
modules/cms-kit/test/Volo.CmsKit.Application.Tests/Pages/PagePublicAppService_Tests.cs

@ -18,15 +18,20 @@ namespace Volo.CmsKit.Pages
}
[Fact]
public async Task ShouldGetByUrlAsync()
public async Task ShouldFindByUrlAsync()
{
await Should.NotThrowAsync(async () => await _pageAppService.GetByUrlAsync(_data.Page_1_Url));
var page = await _pageAppService.FindByUrlAsync(_data.Page_1_Url);
page.ShouldNotBeNull();
page.Title.ShouldBe(_data.Page_1_Title);
}
[Fact]
public async Task ShouldNotGetByUrlAsync()
{
await Should.ThrowAsync<Exception>(async () => await _pageAppService.GetByUrlAsync("not-exist-url"));
var page = await _pageAppService.FindByUrlAsync("not-exist-url");
page.ShouldBeNull();
}
}
}
Loading…
Cancel
Save