Browse Source

Add MenuItemWithDetailsDto to IMenuItemAdminAppService

pull/18782/head
Enis Necipoglu 2 years ago
parent
commit
b3113726db
No known key found for this signature in database GPG Key ID: 1EC55E13241E1680
  1. 2
      modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Menus/IMenuItemAdminAppService.cs
  2. 10
      modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Menus/MenuItemWithDetailsDto.cs
  3. 3
      modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/CmsKitAdminApplicationAutoMapperProfile.cs
  4. 13
      modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Menus/MenuItemAdminAppService.cs
  5. 2
      modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Menus/MenuItemAdminController.cs

2
modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Menus/IMenuItemAdminAppService.cs

@ -10,7 +10,7 @@ public interface IMenuItemAdminAppService : IApplicationService
{
Task<ListResultDto<MenuItemDto>> GetListAsync();
Task<MenuItemDto> GetAsync(Guid id);
Task<MenuItemWithDetailsDto> GetAsync(Guid id);
Task<MenuItemDto> CreateAsync(MenuItemCreateInput input);

10
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; }
}

3
modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/CmsKitAdminApplicationAutoMapperProfile.cs

@ -46,5 +46,8 @@ public class CmsKitAdminApplicationAutoMapperProfile : Profile
CreateMap<MediaDescriptor, MediaDescriptorDto>().MapExtraProperties();
CreateMap<MenuItem, MenuItemDto>().MapExtraProperties();
CreateMap<MenuItem, MenuItemWithDetailsDto>()
.Ignore(x => x.PageTitle)
.MapExtraProperties();
}
}

13
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<MenuItemDto> GetAsync(Guid id)
public virtual async Task<MenuItemWithDetailsDto> GetAsync(Guid id)
{
var menu = await MenuItemRepository.GetAsync(id);
return ObjectMapper.Map<MenuItem, MenuItemDto>(menu);
var menuItem = await MenuItemRepository.GetAsync(id);
var dto = ObjectMapper.Map<MenuItem, MenuItemWithDetailsDto>(menuItem);
if (menuItem.PageId.HasValue)
{
dto.PageTitle = await PageRepository.FindTitleAsync(menuItem.PageId.Value);
}
return dto;
}
[Authorize(CmsKitAdminPermissions.Menus.Create)]

2
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<MenuItemDto> GetAsync(Guid id)
public virtual Task<MenuItemWithDetailsDto> GetAsync(Guid id)
{
return MenuItemAdminAppService.GetAsync(id);
}

Loading…
Cancel
Save