From b3113726db13b9c6a87b2ae5e9add849adef287c Mon Sep 17 00:00:00 2001 From: Enis Necipoglu Date: Wed, 17 Jan 2024 11:23:23 +0300 Subject: [PATCH] Add MenuItemWithDetailsDto to IMenuItemAdminAppService --- .../CmsKit/Admin/Menus/IMenuItemAdminAppService.cs | 2 +- .../CmsKit/Admin/Menus/MenuItemWithDetailsDto.cs | 10 ++++++++++ .../CmsKitAdminApplicationAutoMapperProfile.cs | 3 +++ .../CmsKit/Admin/Menus/MenuItemAdminAppService.cs | 13 ++++++++++--- .../CmsKit/Admin/Menus/MenuItemAdminController.cs | 2 +- 5 files changed, 25 insertions(+), 5 deletions(-) create mode 100644 modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Menus/MenuItemWithDetailsDto.cs diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Menus/IMenuItemAdminAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Menus/IMenuItemAdminAppService.cs index 74aac7b814..a8908129d2 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Menus/IMenuItemAdminAppService.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Menus/IMenuItemAdminAppService.cs @@ -10,7 +10,7 @@ public interface IMenuItemAdminAppService : IApplicationService { Task> GetListAsync(); - Task GetAsync(Guid id); + Task GetAsync(Guid id); Task CreateAsync(MenuItemCreateInput input); diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Menus/MenuItemWithDetailsDto.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Menus/MenuItemWithDetailsDto.cs new file mode 100644 index 0000000000..a6d9906157 --- /dev/null +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Menus/MenuItemWithDetailsDto.cs @@ -0,0 +1,10 @@ +using System; +using Volo.CmsKit.Menus; + +namespace Volo.CmsKit.Admin.Menus; + +[Serializable] +public class MenuItemWithDetailsDto : MenuItemDto +{ + public string? PageTitle { get; set; } +} diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/CmsKitAdminApplicationAutoMapperProfile.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/CmsKitAdminApplicationAutoMapperProfile.cs index 56f58f8078..1394b608c7 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/CmsKitAdminApplicationAutoMapperProfile.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/CmsKitAdminApplicationAutoMapperProfile.cs @@ -46,5 +46,8 @@ public class CmsKitAdminApplicationAutoMapperProfile : Profile CreateMap().MapExtraProperties(); CreateMap().MapExtraProperties(); + CreateMap() + .Ignore(x => x.PageTitle) + .MapExtraProperties(); } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Menus/MenuItemAdminAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Menus/MenuItemAdminAppService.cs index 8eac471a22..3a323efb13 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Menus/MenuItemAdminAppService.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Menus/MenuItemAdminAppService.cs @@ -43,10 +43,17 @@ public class MenuItemAdminAppService : CmsKitAdminAppServiceBase, IMenuItemAdmin ); } - public virtual async Task GetAsync(Guid id) + public virtual async Task GetAsync(Guid id) { - var menu = await MenuItemRepository.GetAsync(id); - return ObjectMapper.Map(menu); + var menuItem = await MenuItemRepository.GetAsync(id); + var dto = ObjectMapper.Map(menuItem); + + if (menuItem.PageId.HasValue) + { + dto.PageTitle = await PageRepository.FindTitleAsync(menuItem.PageId.Value); + } + + return dto; } [Authorize(CmsKitAdminPermissions.Menus.Create)] diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Menus/MenuItemAdminController.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Menus/MenuItemAdminController.cs index a0325f4f27..8540e5306e 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Menus/MenuItemAdminController.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Menus/MenuItemAdminController.cs @@ -36,7 +36,7 @@ public class MenuItemAdminController : CmsKitAdminController, IMenuItemAdminAppS [HttpGet] [Route("{id}")] - public virtual Task GetAsync(Guid id) + public virtual Task GetAsync(Guid id) { return MenuItemAdminAppService.GetAsync(id); }