From 325b82e0279c17ec38a890c7eea0d6d801deb695 Mon Sep 17 00:00:00 2001 From: Yunus Emre Kalkan Date: Mon, 4 Aug 2025 13:50:45 +0300 Subject: [PATCH] Update cms-kit module for Mapperly --- .../Admin/BloggingAdminApplicationModule.cs | 4 + .../BloggingAdminWebModule.cs | 2 + .../Blogging/BloggingApplicationMappers.cs | 15 ++ .../Blogging/BloggingApplicationModule.cs | 2 + .../Volo/Blogging/BloggingDomainModule.cs | 2 + .../AbpBloggingWebMappers.cs | 1 + .../Volo.Blogging.Web/BloggingWebModule.cs | 2 + .../CmsKitWebAutoMapperProfile.cs | 11 - .../CmsKitWebHostModule.cs | 11 +- ...CmsKitAdminApplicationAutoMapperProfile.cs | 54 ----- .../Admin/CmsKitAdminApplicationMappers.cs | 140 ++++++++++++ .../Admin/CmsKitAdminApplicationModule.cs | 11 +- .../CmsKitAdminWebAutoMapperProfile.cs | 57 ----- .../CmsKitAdminWebMappers.cs | 214 ++++++++++++++++++ .../CmsKitAdminWebModule.cs | 5 +- .../Pages/CmsKit/BlogPosts/Create.cshtml.cs | 4 +- .../Pages/CmsKit/BlogPosts/Update.cshtml.cs | 5 +- .../Pages/CmsKit/Blogs/CreateModal.cshtml.cs | 3 +- .../CmsKit/Blogs/FeaturesModal.cshtml.cs | 5 +- .../Pages/CmsKit/Blogs/UpdateModal.cshtml.cs | 3 +- .../Menus/MenuItems/CreateModal.cshtml.cs | 2 - .../Menus/MenuItems/UpdateModal.cshtml.cs | 3 - .../Pages/CmsKit/Pages/Create.cshtml.cs | 4 +- .../Pages/CmsKit/Pages/Update.cshtml.cs | 5 +- .../Pages/CmsKit/Tags/CreateModal.cshtml.cs | 4 +- .../Pages/CmsKit/Tags/EditModal.cshtml.cs | 5 +- .../Volo.CmsKit.Common.Application.csproj | 2 +- ...msKitCommonApplicationAutoMapperProfile.cs | 65 ++++-- .../CmsKit/CmsKitCommonApplicationModule.cs | 17 +- .../CmsKitCommonWebModule.cs | 6 +- .../Volo.CmsKit.Common.Web.csproj | 2 +- .../Public/CmsKitPublicApplicationMappers.cs | 111 +++++++++ .../Public/CmsKitPublicApplicationModule.cs | 8 +- .../PublicApplicationAutoMapperProfile.cs | 46 ---- .../CmsKitPublicWebAutoMapperProfile.cs | 41 +++- .../CmsKitPublicWebModule.cs | 9 +- .../Public/CmsKit/Blogs/BlogPostViewModel.cs | 2 - .../Public/CmsKit/Pages/PageViewModel.cs | 3 - .../Docs/Admin/DocsAdminApplicationMappers.cs | 1 + .../Docs/Admin/DocsAdminApplicationModule.cs | 5 +- .../DocsAdminWebAutoMappers.cs | 9 +- .../Volo/Docs/DocsApplicationMappers.cs | 2 + .../Volo/Docs/DocsApplicationModule.cs | 5 +- .../Common/DocsCommonApplicationModule.cs | 4 + .../Volo/Docs/DocsDomainModule.cs | 2 + .../docs/src/Volo.Docs.Web/DocsWebModule.cs | 2 + 46 files changed, 631 insertions(+), 285 deletions(-) delete mode 100644 modules/cms-kit/host/Volo.CmsKit.Web.Host/CmsKitWebAutoMapperProfile.cs delete mode 100644 modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/CmsKitAdminApplicationAutoMapperProfile.cs create mode 100644 modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/CmsKitAdminApplicationMappers.cs delete mode 100644 modules/cms-kit/src/Volo.CmsKit.Admin.Web/CmsKitAdminWebAutoMapperProfile.cs create mode 100644 modules/cms-kit/src/Volo.CmsKit.Admin.Web/CmsKitAdminWebMappers.cs create mode 100644 modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/CmsKitPublicApplicationMappers.cs delete mode 100644 modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/PublicApplicationAutoMapperProfile.cs diff --git a/modules/blogging/src/Volo.Blogging.Admin.Application/Volo/Blogging/Admin/BloggingAdminApplicationModule.cs b/modules/blogging/src/Volo.Blogging.Admin.Application/Volo/Blogging/Admin/BloggingAdminApplicationModule.cs index cbe6936ae4..75a1c6e0cb 100644 --- a/modules/blogging/src/Volo.Blogging.Admin.Application/Volo/Blogging/Admin/BloggingAdminApplicationModule.cs +++ b/modules/blogging/src/Volo.Blogging.Admin.Application/Volo/Blogging/Admin/BloggingAdminApplicationModule.cs @@ -18,5 +18,9 @@ namespace Volo.Blogging.Admin )] public class BloggingAdminApplicationModule : AbpModule { + public override void ConfigureServices(ServiceConfigurationContext context) + { + context.Services.AddMapperlyObjectMapper(); + } } } diff --git a/modules/blogging/src/Volo.Blogging.Admin.Web/BloggingAdminWebModule.cs b/modules/blogging/src/Volo.Blogging.Admin.Web/BloggingAdminWebModule.cs index cfc5798132..79e933465c 100644 --- a/modules/blogging/src/Volo.Blogging.Admin.Web/BloggingAdminWebModule.cs +++ b/modules/blogging/src/Volo.Blogging.Admin.Web/BloggingAdminWebModule.cs @@ -34,6 +34,8 @@ namespace Volo.Blogging.Admin public override void ConfigureServices(ServiceConfigurationContext context) { + context.Services.AddMapperlyObjectMapper(); + Configure(options => { options.MenuContributors.Add(new BloggingAdminMenuContributor()); diff --git a/modules/blogging/src/Volo.Blogging.Application/Volo/Blogging/BloggingApplicationMappers.cs b/modules/blogging/src/Volo.Blogging.Application/Volo/Blogging/BloggingApplicationMappers.cs index 0638cbf95d..2868e59405 100644 --- a/modules/blogging/src/Volo.Blogging.Application/Volo/Blogging/BloggingApplicationMappers.cs +++ b/modules/blogging/src/Volo.Blogging.Application/Volo/Blogging/BloggingApplicationMappers.cs @@ -25,6 +25,15 @@ public partial class PostCacheItemToPostWithDetailsDtoMapper : MapperBase [MapperIgnoreTarget(nameof(PostCacheItem.Tags))] public override partial PostCacheItem Map(Post source); + [MapperIgnoreTarget(nameof(PostCacheItem.CommentCount))] + [MapperIgnoreTarget(nameof(PostCacheItem.Tags))] public override partial void Map(Post source, PostCacheItem destination); } @@ -44,6 +55,7 @@ public partial class CommentToCommentWithDetailsDtoMapper : MapperBase(); + Configure(options => { //TODO: Rename UpdatePolicy/DeletePolicy since it's candidate to conflicts with other modules! diff --git a/modules/blogging/src/Volo.Blogging.Domain/Volo/Blogging/BloggingDomainModule.cs b/modules/blogging/src/Volo.Blogging.Domain/Volo/Blogging/BloggingDomainModule.cs index 040d223e4d..b2bd8439f2 100644 --- a/modules/blogging/src/Volo.Blogging.Domain/Volo/Blogging/BloggingDomainModule.cs +++ b/modules/blogging/src/Volo.Blogging.Domain/Volo/Blogging/BloggingDomainModule.cs @@ -21,6 +21,8 @@ namespace Volo.Blogging { public override void ConfigureServices(ServiceConfigurationContext context) { + context.Services.AddMapperlyObjectMapper(); + Configure(options => { options.EtoMappings.Add(typeof(BloggingDomainModule)); diff --git a/modules/blogging/src/Volo.Blogging.Web/AbpBloggingWebMappers.cs b/modules/blogging/src/Volo.Blogging.Web/AbpBloggingWebMappers.cs index c1d7f53329..db8a921292 100644 --- a/modules/blogging/src/Volo.Blogging.Web/AbpBloggingWebMappers.cs +++ b/modules/blogging/src/Volo.Blogging.Web/AbpBloggingWebMappers.cs @@ -11,6 +11,7 @@ public partial class PostWithDetailsDtoToEditPostViewModelMapper : MapperBase(); + Configure(options => { options.FileSets.AddEmbedded(); diff --git a/modules/cms-kit/host/Volo.CmsKit.Web.Host/CmsKitWebAutoMapperProfile.cs b/modules/cms-kit/host/Volo.CmsKit.Web.Host/CmsKitWebAutoMapperProfile.cs deleted file mode 100644 index bea413f2bc..0000000000 --- a/modules/cms-kit/host/Volo.CmsKit.Web.Host/CmsKitWebAutoMapperProfile.cs +++ /dev/null @@ -1,11 +0,0 @@ -using AutoMapper; - -namespace Volo.CmsKit; - -public class CmsKitWebAutoMapperProfile : Profile -{ - public CmsKitWebAutoMapperProfile() - { - //Define your AutoMapper configuration here for the Web project. - } -} diff --git a/modules/cms-kit/host/Volo.CmsKit.Web.Host/CmsKitWebHostModule.cs b/modules/cms-kit/host/Volo.CmsKit.Web.Host/CmsKitWebHostModule.cs index 7f2f539d7e..522771c77b 100644 --- a/modules/cms-kit/host/Volo.CmsKit.Web.Host/CmsKitWebHostModule.cs +++ b/modules/cms-kit/host/Volo.CmsKit.Web.Host/CmsKitWebHostModule.cs @@ -23,7 +23,7 @@ using Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic; using Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared; using Volo.Abp.AspNetCore.Serilog; using Volo.Abp.Autofac; -using Volo.Abp.AutoMapper; +using Volo.Abp.Mapperly; using Volo.Abp.Caching; using Volo.Abp.Caching.StackExchangeRedis; using Volo.Abp.FeatureManagement; @@ -87,7 +87,6 @@ public class CmsKitWebHostModule : AbpModule ConfigureCache(configuration); ConfigureUrls(configuration); ConfigureAuthentication(context, configuration); - ConfigureAutoMapper(); ConfigureVirtualFileSystem(hostingEnvironment); ConfigureSwaggerServices(context.Services); ConfigureMultiTenancy(); @@ -159,14 +158,6 @@ public class CmsKitWebHostModule : AbpModule }); } - private void ConfigureAutoMapper() - { - Configure(options => - { - options.AddMaps(); - }); - } - private void ConfigureVirtualFileSystem(IWebHostEnvironment hostingEnvironment) { if (hostingEnvironment.IsDevelopment()) 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 deleted file mode 100644 index 60f8ccb8a8..0000000000 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/CmsKitAdminApplicationAutoMapperProfile.cs +++ /dev/null @@ -1,54 +0,0 @@ -using AutoMapper; -using Volo.Abp.AutoMapper; -using Volo.CmsKit.Admin.Blogs; -using Volo.CmsKit.Admin.Comments; -using Volo.CmsKit.Admin.MediaDescriptors; -using Volo.CmsKit.Admin.Pages; -using Volo.CmsKit.Blogs; -using Volo.CmsKit.Admin.Tags; -using Volo.CmsKit.Comments; -using Volo.CmsKit.MediaDescriptors; -using Volo.CmsKit.Pages; -using Volo.CmsKit.Tags; -using Volo.CmsKit.Users; -using Volo.CmsKit.Menus; -using Volo.CmsKit.Admin.Menus; - -namespace Volo.CmsKit.Admin; - -public class CmsKitAdminApplicationAutoMapperProfile : Profile -{ - public CmsKitAdminApplicationAutoMapperProfile() - { - CreateMap().MapExtraProperties(); - - CreateMap().MapExtraProperties(); - CreateMap() - .Ignore(x => x.Author) - .MapExtraProperties(); - - CreateMap().MapExtraProperties(); - CreateMap(); - - CreateMap(MemberList.Destination).MapExtraProperties(); - CreateMap() - .Ignore(d => d.BlogName) - .MapExtraProperties(); - - CreateMap(MemberList.Source).MapExtraProperties(); - CreateMap(MemberList.Source).MapExtraProperties(); - - CreateMap().Ignore(b => b.BlogPostCount).MapExtraProperties(); - - CreateMap(MemberList.Destination); - - CreateMap().MapExtraProperties(); - - CreateMap().MapExtraProperties(); - - CreateMap().MapExtraProperties(); - CreateMap() - .Ignore(x => x.PageTitle) - .MapExtraProperties(); - } -} diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/CmsKitAdminApplicationMappers.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/CmsKitAdminApplicationMappers.cs new file mode 100644 index 0000000000..750cb526ed --- /dev/null +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/CmsKitAdminApplicationMappers.cs @@ -0,0 +1,140 @@ +using Riok.Mapperly.Abstractions; +using Volo.Abp.Mapperly; +using Volo.CmsKit.Admin.Blogs; +using Volo.CmsKit.Admin.Comments; +using Volo.CmsKit.Admin.MediaDescriptors; +using Volo.CmsKit.Admin.Pages; +using Volo.CmsKit.Blogs; +using Volo.CmsKit.Admin.Tags; +using Volo.CmsKit.Comments; +using Volo.CmsKit.MediaDescriptors; +using Volo.CmsKit.Pages; +using Volo.CmsKit.Tags; +using Volo.CmsKit.Users; +using Volo.CmsKit.Menus; +using Volo.CmsKit.Admin.Menus; + +namespace Volo.CmsKit.Admin; + +[Mapper] +public partial class TagEntityTypeDefinitonToTagDefinitionDtoMapper : MapperBase +{ + public override partial TagDefinitionDto Map(TagEntityTypeDefiniton source); + + public override partial void Map(TagEntityTypeDefiniton source, TagDefinitionDto destination); +} + +[Mapper] +[MapExtraProperties] +public partial class BlogPostToBlogPostDtoMapper : MapperBase +{ + public override partial BlogPostDto Map(BlogPost source); + + public override partial void Map(BlogPost source, BlogPostDto destination); +} + +[Mapper] +[MapExtraProperties] +public partial class BlogPostToBlogPostListDtoMapper : MapperBase +{ + [MapperIgnoreTarget(nameof(BlogPostListDto.BlogName))] + public override partial BlogPostListDto Map(BlogPost source); + + [MapperIgnoreTarget(nameof(BlogPostListDto.BlogName))] + public override partial void Map(BlogPost source, BlogPostListDto destination); +} + +[Mapper] +[MapExtraProperties] +public partial class MenuItemToMenuItemWithDetailsDtoMapper : MapperBase +{ + [MapperIgnoreTarget(nameof(MenuItemWithDetailsDto.PageTitle))] + public override partial MenuItemWithDetailsDto Map(MenuItem source); + + [MapperIgnoreTarget(nameof(MenuItemWithDetailsDto.PageTitle))] + public override partial void Map(MenuItem source, MenuItemWithDetailsDto destination); +} + +[Mapper] +[MapExtraProperties] +public partial class MenuItemToMenuItemMapper : MapperBase +{ + public override partial MenuItemDto Map(MenuItem source); + + public override partial void Map(MenuItem source, MenuItemDto destination); +} + +[Mapper] +[MapExtraProperties] +public partial class MediaDescriptorToMediaDescriptorDtoMapper : MapperBase +{ + public override partial MediaDescriptorDto Map(MediaDescriptor source); + + public override partial void Map(MediaDescriptor source, MediaDescriptorDto destination); +} + +[Mapper] +[MapExtraProperties] +public partial class TagToTagDtoMapper : MapperBase +{ + public override partial TagDto Map(Tag source); + + public override partial void Map(Tag source, TagDto destination); +} + +[Mapper] +[MapExtraProperties] +public partial class BlogToBlogDtoMapper : MapperBase +{ + [MapperIgnoreTarget(nameof(BlogDto.BlogPostCount))] + public override partial BlogDto Map(Blog source); + + [MapperIgnoreTarget(nameof(BlogDto.BlogPostCount))] + public override partial void Map(Blog source, BlogDto destination); +} + +[Mapper] +public partial class PageToPageLookupDtoMapper : MapperBase +{ + public override partial PageLookupDto Map(Page source); + + public override partial void Map(Page source, PageLookupDto destination); +} + +[Mapper] +[MapExtraProperties] +public partial class PageToPageDtoMapper : MapperBase +{ + public override partial PageDto Map(Page source); + + public override partial void Map(Page source, PageDto destination); +} + +[Mapper] +[MapExtraProperties] +public partial class CommentToCommentWithAuthorDtoMapper : MapperBase +{ + [MapperIgnoreTarget(nameof(CommentWithAuthorDto.Author))] + public override partial CommentWithAuthorDto Map(Comment source); + + [MapperIgnoreTarget(nameof(CommentWithAuthorDto.Author))] + public override partial void Map(Comment source, CommentWithAuthorDto destination); +} + +[Mapper] +[MapExtraProperties] +public partial class CommentToCommentDtoMapper : MapperBase +{ + public override partial CommentDto Map(Comment source); + + public override partial void Map(Comment source, CommentDto destination); +} + +[Mapper] +[MapExtraProperties] +public partial class CmsUserToCommentsCmsUserDtoMapper : MapperBase +{ + public override partial Comments.CmsUserDto Map(CmsUser source); + + public override partial void Map(CmsUser source, Comments.CmsUserDto destination); +} \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/CmsKitAdminApplicationModule.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/CmsKitAdminApplicationModule.cs index 2a9765dd5a..0be1a58d00 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/CmsKitAdminApplicationModule.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/CmsKitAdminApplicationModule.cs @@ -1,6 +1,6 @@ using Microsoft.Extensions.DependencyInjection; using System.Collections.Generic; -using Volo.Abp.AutoMapper; +using Volo.Abp.Mapperly; using Volo.Abp.GlobalFeatures; using Volo.Abp.Localization; using Volo.Abp.Modularity; @@ -17,23 +17,18 @@ namespace Volo.CmsKit.Admin; [DependsOn( typeof(CmsKitAdminApplicationContractsModule), - typeof(AbpAutoMapperModule), + typeof(AbpMapperlyModule), typeof(CmsKitCommonApplicationModule) )] public class CmsKitAdminApplicationModule : AbpModule { public override void ConfigureServices(ServiceConfigurationContext context) { - context.Services.AddAutoMapperObjectMapper(); + context.Services.AddMapperlyObjectMapper(); ConfigureTagOptions(); ConfigureCommentOptions(); - - Configure(options => - { - options.AddMaps(validate: true); - }); } private void ConfigureTagOptions() diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/CmsKitAdminWebAutoMapperProfile.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/CmsKitAdminWebAutoMapperProfile.cs deleted file mode 100644 index 655399109d..0000000000 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/CmsKitAdminWebAutoMapperProfile.cs +++ /dev/null @@ -1,57 +0,0 @@ -using AutoMapper; -using Volo.Abp.AutoMapper; -using Volo.CmsKit.Admin.Blogs; -using Volo.CmsKit.Admin.Menus; -using Volo.CmsKit.Admin.Pages; -using Volo.CmsKit.Admin.Tags; -using Volo.CmsKit.Menus; -using Volo.CmsKit.Tags; - -namespace Volo.CmsKit.Admin.Web; - -public class CmsKitAdminWebAutoMapperProfile : Profile -{ - public CmsKitAdminWebAutoMapperProfile() - { - CreateBlogPostMappings(); - CreateBlogMappings(); - CreateMenuMappings(); - CreatePageMappings(); - CreateTagMappings(); - } - - protected virtual void CreateBlogPostMappings() - { - CreateMap().MapExtraProperties(); - CreateMap().MapExtraProperties(); - CreateMap().MapExtraProperties(); - } - - protected virtual void CreateBlogMappings() - { - CreateMap().MapExtraProperties(); - CreateMap().MapExtraProperties(); - CreateMap().MapExtraProperties(); - } - - protected virtual void CreateMenuMappings() - { - CreateMap().MapExtraProperties(); - CreateMap().MapExtraProperties(); - CreateMap().MapExtraProperties(); - } - - protected virtual void CreatePageMappings() - { - CreateMap().MapExtraProperties(); - CreateMap().MapExtraProperties(); - CreateMap().MapExtraProperties(); - } - - protected virtual void CreateTagMappings() - { - CreateMap().MapExtraProperties(); - CreateMap().MapExtraProperties(); - CreateMap().MapExtraProperties(); - } -} \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/CmsKitAdminWebMappers.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/CmsKitAdminWebMappers.cs new file mode 100644 index 0000000000..3e7efb37e3 --- /dev/null +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/CmsKitAdminWebMappers.cs @@ -0,0 +1,214 @@ +using Riok.Mapperly.Abstractions; +using Volo.Abp.Mapperly; +using Volo.CmsKit.Admin.Blogs; +using Volo.CmsKit.Admin.Menus; +using Volo.CmsKit.Admin.Pages; +using Volo.CmsKit.Admin.Tags; +using Volo.CmsKit.Admin.Web.Pages.CmsKit.BlogPosts; +using Volo.CmsKit.Admin.Web.Pages.CmsKit.Blogs; +using Volo.CmsKit.Admin.Web.Pages.CmsKit.Tags; +using Volo.CmsKit.Blogs; +using Volo.CmsKit.Tags; +using CreateModalModel = Volo.CmsKit.Admin.Web.Pages.CmsKit.Tags.CreateModalModel; + +namespace Volo.CmsKit.Admin.Web; + +[Mapper] +public partial class BlogFeatureInputDtoToBlogFeatureViewModelMapper : TwoWayMapperBase +{ + public override partial FeaturesModalModel.BlogFeatureViewModel Map(BlogFeatureInputDto source); + public override partial void Map(BlogFeatureInputDto source, FeaturesModalModel.BlogFeatureViewModel destination); + + public override partial BlogFeatureInputDto ReverseMap(FeaturesModalModel.BlogFeatureViewModel destination); + public override partial void ReverseMap(FeaturesModalModel.BlogFeatureViewModel destination, BlogFeatureInputDto source); +} + +[Mapper] +public partial class BlogFeatureDtoToBlogFeatureViewModelMapper : TwoWayMapperBase +{ + public override partial FeaturesModalModel.BlogFeatureViewModel Map(BlogFeatureDto source); + public override partial void Map(BlogFeatureDto source, FeaturesModalModel.BlogFeatureViewModel destination); + + public override partial BlogFeatureDto ReverseMap(FeaturesModalModel.BlogFeatureViewModel destination); + public override partial void ReverseMap(FeaturesModalModel.BlogFeatureViewModel destination, BlogFeatureDto source); +} + +[Mapper] +public partial class CreateBlogPostDtoToCreateBlogPostViewModelMapper : TwoWayMapperBase +{ + public override partial CreateModel.CreateBlogPostViewModel Map(CreateBlogPostDto source); + public override partial void Map(CreateBlogPostDto source, CreateModel.CreateBlogPostViewModel destination); + + public override partial CreateBlogPostDto ReverseMap(CreateModel.CreateBlogPostViewModel destination); + public override partial void ReverseMap(CreateModel.CreateBlogPostViewModel destination, CreateBlogPostDto source); +} + +[Mapper] +public partial class TagUpdateDtoToTagEditViewModelMapper : TwoWayMapperBase +{ + public override partial EditModalModel.TagEditViewModel Map(TagUpdateDto source); + public override partial void Map(TagUpdateDto source, EditModalModel.TagEditViewModel destination); + + public override partial TagUpdateDto ReverseMap(EditModalModel.TagEditViewModel destination); + public override partial void ReverseMap(EditModalModel.TagEditViewModel destination, TagUpdateDto source); +} + +[Mapper] +public partial class TagDtoToCreateBlogPostDtoMapper : MapperBase +{ + public override partial EditModalModel.TagEditViewModel Map(TagDto source); + + public override partial void Map(TagDto source, EditModalModel.TagEditViewModel destination); +} + +[Mapper] +[MapExtraProperties] +public partial class CreateBlogPostViewModelToCreateBlogPostDtoMapper : MapperBase +{ + public override partial CreateBlogPostDto Map(CreateModel.CreateBlogPostViewModel source); + + public override partial void Map(CreateModel.CreateBlogPostViewModel source, CreateBlogPostDto destination); +} + +[Mapper] +[MapExtraProperties] +public partial class UpdateBlogPostViewModelToUpdateBlogPostDtoMapper : TwoWayMapperBase +{ + public override partial UpdateBlogPostDto Map(UpdateModel.UpdateBlogPostViewModel source); + + public override partial void Map(UpdateModel.UpdateBlogPostViewModel source, UpdateBlogPostDto destination); + + public override partial UpdateModel.UpdateBlogPostViewModel ReverseMap(UpdateBlogPostDto destination); + + public override partial void ReverseMap(UpdateBlogPostDto destination, UpdateModel.UpdateBlogPostViewModel source); +} + +[Mapper] +[MapExtraProperties] +public partial class BlogPostDtoToUpdateBlogPostViewModelMapper : MapperBase +{ + public override partial UpdateModel.UpdateBlogPostViewModel Map(BlogPostDto source); + + public override partial void Map(BlogPostDto source, UpdateModel.UpdateBlogPostViewModel destination); +} + +[Mapper] +[MapExtraProperties] +public partial class BlogDtoUpdateToBlogViewModelMapper : MapperBase +{ + public override partial Volo.CmsKit.Admin.Web.Pages.CmsKit.Blogs.UpdateModalModel.UpdateBlogViewModel Map(BlogDto source); + + public override partial void Map(BlogDto source, Volo.CmsKit.Admin.Web.Pages.CmsKit.Blogs.UpdateModalModel.UpdateBlogViewModel destination); +} + +[Mapper] +[MapExtraProperties] +public partial class CreateBlogViewModelToCreateBlogDtoMapper : MapperBase +{ + public override partial CreateBlogDto Map(Volo.CmsKit.Admin.Web.Pages.CmsKit.Blogs.CreateModalModel.CreateBlogViewModel source); + + public override partial void Map(Volo.CmsKit.Admin.Web.Pages.CmsKit.Blogs.CreateModalModel.CreateBlogViewModel source, CreateBlogDto destination); +} + +[Mapper] +[MapExtraProperties] +public partial class UpdateBlogViewModelToUpdateBlogDtoMapper : MapperBase +{ + public override partial UpdateBlogDto Map(Volo.CmsKit.Admin.Web.Pages.CmsKit.Blogs.UpdateModalModel.UpdateBlogViewModel source); + + public override partial void Map(Volo.CmsKit.Admin.Web.Pages.CmsKit.Blogs.UpdateModalModel.UpdateBlogViewModel source, UpdateBlogDto destination); +} + +[Mapper] +[MapExtraProperties] +public partial class MenuItemUpdateViewModelToMenuItemCreateInputMapper : TwoWayMapperBase +{ + public override partial MenuItemCreateInput Map(Volo.CmsKit.Admin.Web.Pages.CmsKit.Menus.MenuItems.CreateModalModel.MenuItemCreateViewModel source); + + public override partial void Map(Volo.CmsKit.Admin.Web.Pages.CmsKit.Menus.MenuItems.CreateModalModel.MenuItemCreateViewModel source, MenuItemCreateInput destination); + public override partial Pages.CmsKit.Menus.MenuItems.CreateModalModel.MenuItemCreateViewModel ReverseMap(MenuItemCreateInput destination); + + public override partial void ReverseMap(MenuItemCreateInput destination, Pages.CmsKit.Menus.MenuItems.CreateModalModel.MenuItemCreateViewModel source); +} + +[Mapper] +[MapExtraProperties] +public partial class MenuItemUpdateViewModelToMenuItemUpdateInputMapper : MapperBase +{ + public override partial MenuItemUpdateInput Map(Volo.CmsKit.Admin.Web.Pages.CmsKit.Menus.MenuItems.UpdateModalModel.MenuItemUpdateViewModel source); + + public override partial void Map(Volo.CmsKit.Admin.Web.Pages.CmsKit.Menus.MenuItems.UpdateModalModel.MenuItemUpdateViewModel source, MenuItemUpdateInput destination); +} + +[Mapper] +[MapExtraProperties] +public partial class MenuItemWithDetailsDtoToMenuItemUpdateViewModelMapper : MapperBase +{ + public override partial Volo.CmsKit.Admin.Web.Pages.CmsKit.Menus.MenuItems.UpdateModalModel.MenuItemUpdateViewModel Map(MenuItemWithDetailsDto source); + + public override partial void Map(MenuItemWithDetailsDto source, Volo.CmsKit.Admin.Web.Pages.CmsKit.Menus.MenuItems.UpdateModalModel.MenuItemUpdateViewModel destination); +} + +[Mapper] +[MapExtraProperties] +public partial class PageDtoToCreatePageInputDtoMapper : MapperBase +{ + public override partial Volo.CmsKit.Admin.Web.Pages.CmsKit.Pages.UpdateModel.UpdatePageViewModel Map(PageDto source); + + public override partial void Map(PageDto source, Volo.CmsKit.Admin.Web.Pages.CmsKit.Pages.UpdateModel.UpdatePageViewModel destination); +} + +[Mapper] +[MapExtraProperties] +public partial class CreatePageViewModelToCreatePageInputDtoMapper : TwoWayMapperBase +{ + public override partial CreatePageInputDto Map(Volo.CmsKit.Admin.Web.Pages.CmsKit.Pages.CreateModel.CreatePageViewModel source); + + public override partial void Map(Volo.CmsKit.Admin.Web.Pages.CmsKit.Pages.CreateModel.CreatePageViewModel source, CreatePageInputDto destination); + public override partial Pages.CmsKit.Pages.CreateModel.CreatePageViewModel ReverseMap(CreatePageInputDto destination); + + public override partial void ReverseMap(CreatePageInputDto destination, Pages.CmsKit.Pages.CreateModel.CreatePageViewModel source); +} + +[Mapper] +[MapExtraProperties] +public partial class UpdatePageViewModelToUpdatePageInputDtoMapper : TwoWayMapperBase +{ + public override partial UpdatePageInputDto Map(Volo.CmsKit.Admin.Web.Pages.CmsKit.Pages.UpdateModel.UpdatePageViewModel source); + + public override partial void Map(Volo.CmsKit.Admin.Web.Pages.CmsKit.Pages.UpdateModel.UpdatePageViewModel source, UpdatePageInputDto destination); + + public override partial Pages.CmsKit.Pages.UpdateModel.UpdatePageViewModel ReverseMap(UpdatePageInputDto destination); + + public override partial void ReverseMap(UpdatePageInputDto destination, Pages.CmsKit.Pages.UpdateModel.UpdatePageViewModel source); +} + +[Mapper] +[MapExtraProperties] +public partial class TagCreateViewModelToTagCreateDtoMapper : TwoWayMapperBase +{ + public override partial TagCreateDto Map(CreateModalModel.TagCreateViewModel source); + + public override partial void Map(CreateModalModel.TagCreateViewModel source, TagCreateDto destination); + public override partial CreateModalModel.TagCreateViewModel ReverseMap(TagCreateDto destination); + + public override partial void ReverseMap(TagCreateDto destination, CreateModalModel.TagCreateViewModel source); +} + +[Mapper] +[MapExtraProperties] +public partial class TagEditViewModelToTagUpdateDtoMapper : MapperBase +{ + public override partial TagUpdateDto Map(EditModalModel.TagEditViewModel source); + + public override partial void Map(EditModalModel.TagEditViewModel source, TagUpdateDto destination); +} + +[Mapper] +[MapExtraProperties] +public partial class TagDtoToTagEditViewModelMapper : MapperBase +{ + public override partial EditModalModel.TagEditViewModel Map(TagDto source); + + public override partial void Map(TagDto source, EditModalModel.TagEditViewModel destination); +} \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/CmsKitAdminWebModule.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/CmsKitAdminWebModule.cs index 45cbbd818d..c820362566 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/CmsKitAdminWebModule.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/CmsKitAdminWebModule.cs @@ -7,7 +7,7 @@ using Volo.Abp.AspNetCore.Mvc.UI.Packages.MarkdownIt; using Volo.Abp.AspNetCore.Mvc.UI.Packages.Prismjs; using Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Bundling; using Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.PageToolbars; -using Volo.Abp.AutoMapper; +using Volo.Abp.Mapperly; using Volo.Abp.Http.ProxyScripting.Generators.JQuery; using Volo.Abp.Localization; using Volo.Abp.Modularity; @@ -82,8 +82,7 @@ public class CmsKitAdminWebModule : AbpModule options.FileSets.AddEmbedded("Volo.CmsKit.Admin.Web"); }); - context.Services.AddAutoMapperObjectMapper(); - Configure(options => { options.AddMaps(validate: true); }); + context.Services.AddMapperlyObjectMapper(); Configure(options => { diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/BlogPosts/Create.cshtml.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/BlogPosts/Create.cshtml.cs index 83fa3d0285..8e969115e0 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/BlogPosts/Create.cshtml.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/BlogPosts/Create.cshtml.cs @@ -1,5 +1,4 @@ -using AutoMapper; -using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.Rendering; using System; using System.Collections.Generic; @@ -50,7 +49,6 @@ public class CreateModel : CmsKitAdminPageModel return new OkObjectResult(createResult); } - [AutoMap(typeof(CreateBlogPostDto), ReverseMap = true)] public class CreateBlogPostViewModel : ExtensibleObject { [Required] diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/BlogPosts/Update.cshtml.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/BlogPosts/Update.cshtml.cs index 810a955158..b0ed97d8cd 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/BlogPosts/Update.cshtml.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/BlogPosts/Update.cshtml.cs @@ -1,5 +1,4 @@ -using AutoMapper; -using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.Rendering; using System; using System.Collections.Generic; @@ -56,8 +55,6 @@ public class UpdateModel : CmsKitAdminPageModel return NoContent(); } - [AutoMap(typeof(BlogPostDto))] - [AutoMap(typeof(UpdateBlogPostDto), ReverseMap = true)] public class UpdateBlogPostViewModel : ExtensibleObject, IHasConcurrencyStamp { [DynamicMaxLength(typeof(BlogPostConsts), nameof(BlogPostConsts.MaxTitleLength))] diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Blogs/CreateModal.cshtml.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Blogs/CreateModal.cshtml.cs index 5f7ea9cee1..422a167776 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Blogs/CreateModal.cshtml.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Blogs/CreateModal.cshtml.cs @@ -1,5 +1,4 @@ -using AutoMapper; -using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc; using System.ComponentModel.DataAnnotations; using System.Threading.Tasks; using Volo.Abp.ObjectExtending; diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Blogs/FeaturesModal.cshtml.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Blogs/FeaturesModal.cshtml.cs index a18d2e7d89..a7071a1f12 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Blogs/FeaturesModal.cshtml.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Blogs/FeaturesModal.cshtml.cs @@ -1,5 +1,4 @@ -using AutoMapper; -using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc; using System; using System.Collections.Generic; using System.Linq; @@ -47,8 +46,6 @@ public class FeaturesModalModel : CmsKitAdminPageModel return NoContent(); } - [AutoMap(typeof(BlogFeatureDto), ReverseMap = true)] - [AutoMap(typeof(BlogFeatureInputDto), ReverseMap = true)] public class BlogFeatureViewModel { private string featureName; diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Blogs/UpdateModal.cshtml.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Blogs/UpdateModal.cshtml.cs index 1cccffe496..b36c0daefc 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Blogs/UpdateModal.cshtml.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Blogs/UpdateModal.cshtml.cs @@ -1,5 +1,4 @@ -using AutoMapper; -using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc; using System; using System.ComponentModel.DataAnnotations; using System.Threading.Tasks; diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Menus/MenuItems/CreateModal.cshtml.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Menus/MenuItems/CreateModal.cshtml.cs index 49a1354b43..c2a7aa6cdb 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Menus/MenuItems/CreateModal.cshtml.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Menus/MenuItems/CreateModal.cshtml.cs @@ -1,7 +1,6 @@ using System; using System.ComponentModel.DataAnnotations; using System.Threading.Tasks; -using AutoMapper; using Microsoft.AspNetCore.Mvc; using Volo.Abp.Authorization.Permissions; using Volo.Abp.Features; @@ -46,7 +45,6 @@ public class CreateModalModel : CmsKitAdminPageModel return new OkObjectResult(dto); } - [AutoMap(typeof(MenuItemCreateInput), ReverseMap = true)] public class MenuItemCreateViewModel : ExtensibleObject { [HiddenInput] diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Menus/MenuItems/UpdateModal.cshtml.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Menus/MenuItems/UpdateModal.cshtml.cs index 9cb5af1bba..19da825365 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Menus/MenuItems/UpdateModal.cshtml.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Menus/MenuItems/UpdateModal.cshtml.cs @@ -2,9 +2,7 @@ using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Threading.Tasks; -using AutoMapper; using Microsoft.AspNetCore.Mvc; -using Microsoft.AspNetCore.Mvc.RazorPages; using Volo.Abp.Domain.Entities; using Volo.Abp.Features; using Volo.Abp.GlobalFeatures; @@ -12,7 +10,6 @@ using Volo.Abp.ObjectExtending; using Volo.CmsKit.Admin.Menus; using Volo.CmsKit.Features; using Volo.CmsKit.GlobalFeatures; -using Volo.CmsKit.Menus; namespace Volo.CmsKit.Admin.Web.Pages.CmsKit.Menus.MenuItems; diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Pages/Create.cshtml.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Pages/Create.cshtml.cs index 9a8369ad60..96d3f218c6 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Pages/Create.cshtml.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Pages/Create.cshtml.cs @@ -1,5 +1,4 @@ -using AutoMapper; -using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc; using System.ComponentModel.DataAnnotations; using System.Threading.Tasks; using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form; @@ -32,7 +31,6 @@ public class CreateModel : CmsKitAdminPageModel return new OkObjectResult(created); } - [AutoMap(typeof(CreatePageInputDto), ReverseMap = true)] public class CreatePageViewModel : ExtensibleObject { [Required] diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Pages/Update.cshtml.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Pages/Update.cshtml.cs index 44c48a31c0..fff1f814e5 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Pages/Update.cshtml.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Pages/Update.cshtml.cs @@ -1,5 +1,4 @@ -using AutoMapper; -using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc; using System; using System.ComponentModel.DataAnnotations; using System.Threading.Tasks; @@ -44,8 +43,6 @@ public class UpdateModel : CmsKitAdminPageModel return NoContent(); } - [AutoMap(typeof(PageDto))] - [AutoMap(typeof(UpdatePageInputDto), ReverseMap = true)] public class UpdatePageViewModel : ExtensibleObject, IHasConcurrencyStamp { [Required] diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Tags/CreateModal.cshtml.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Tags/CreateModal.cshtml.cs index 8b2b5f7dcf..807683826c 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Tags/CreateModal.cshtml.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Tags/CreateModal.cshtml.cs @@ -1,5 +1,4 @@ -using AutoMapper; -using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.Rendering; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; @@ -44,7 +43,6 @@ public class CreateModalModel : CmsKitAdminPageModel return NoContent(); } - [AutoMap(typeof(TagCreateDto), ReverseMap = true)] public class TagCreateViewModel : ExtensibleObject { [DynamicMaxLength(typeof(TagConsts), nameof(TagConsts.MaxEntityTypeLength))] diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Tags/EditModal.cshtml.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Tags/EditModal.cshtml.cs index 3482e5e05b..34a052591e 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Tags/EditModal.cshtml.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Tags/EditModal.cshtml.cs @@ -1,5 +1,4 @@ -using AutoMapper; -using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc; using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; @@ -44,8 +43,6 @@ public class EditModalModel : CmsKitAdminPageModel return NoContent(); } - [AutoMap(typeof(TagDto))] - [AutoMap(typeof(TagUpdateDto), ReverseMap = true)] public class TagEditViewModel : ExtensibleObject, IHasConcurrencyStamp { [Required] diff --git a/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo.CmsKit.Common.Application.csproj b/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo.CmsKit.Common.Application.csproj index d7d88be59e..014d592dc7 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo.CmsKit.Common.Application.csproj +++ b/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo.CmsKit.Common.Application.csproj @@ -9,7 +9,7 @@ - + diff --git a/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/CmsKitCommonApplicationAutoMapperProfile.cs b/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/CmsKitCommonApplicationAutoMapperProfile.cs index 099b3e1b10..6f6e42600c 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/CmsKitCommonApplicationAutoMapperProfile.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/CmsKitCommonApplicationAutoMapperProfile.cs @@ -1,25 +1,62 @@ -using AutoMapper; +using Riok.Mapperly.Abstractions; +using Volo.Abp.Mapperly; using Volo.CmsKit.Blogs; using Volo.CmsKit.Tags; using Volo.CmsKit.Users; namespace Volo.CmsKit; -public class CmsKitCommonApplicationAutoMapperProfile : Profile +[Mapper] +[MapExtraProperties] +public partial class OrganizationUnitRoleToOrganizationUnitRoleDtoMapper : TwoWayMapperBase { - public CmsKitCommonApplicationAutoMapperProfile() - { - CreateMap().MapExtraProperties(); + public override partial BlogFeatureDto Map(BlogFeatureCacheItem source); + public override partial void Map(BlogFeatureCacheItem source, BlogFeatureDto destination); - CreateMap(); + public override partial BlogFeatureCacheItem ReverseMap(BlogFeatureDto destination); + public override partial void ReverseMap(BlogFeatureDto destination, BlogFeatureCacheItem source); +} - CreateMap().MapExtraProperties(); +[Mapper] +[MapExtraProperties] +public partial class BlogFeatureToBlogFeatureDtoMapper : MapperBase +{ + public override partial BlogFeatureDto Map(BlogFeature source); - CreateMap().MapExtraProperties(); - CreateMap().MapExtraProperties(); - CreateMap() - .MapExtraProperties() - .ReverseMap() - .MapExtraProperties(); - } + public override partial void Map(BlogFeature source, BlogFeatureDto destination); } + +[Mapper] +[MapExtraProperties] +public partial class BlogFeatureToBlogFeatureCacheItemMapper : MapperBase +{ + public override partial BlogFeatureCacheItem Map(BlogFeature source); + + public override partial void Map(BlogFeature source, BlogFeatureCacheItem destination); +} + +[Mapper] +public partial class PopularTagToPopularTagDtoMapper : MapperBase +{ + public override partial PopularTagDto Map(PopularTag source); + + public override partial void Map(PopularTag source, PopularTagDto destination); +} + +[Mapper] +[MapExtraProperties] +public partial class CmsUserToCmsUserDtoMapper : MapperBase +{ + public override partial CmsUserDto Map(CmsUser source); + + public override partial void Map(CmsUser source, CmsUserDto destination); +} + +[Mapper] +[MapExtraProperties] +public partial class TagToTagDtoMapper : MapperBase +{ + public override partial TagDto Map(Tag source); + + public override partial void Map(Tag source, TagDto destination); +} \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/CmsKitCommonApplicationModule.cs b/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/CmsKitCommonApplicationModule.cs index 44125bd4bf..5a9b786bc8 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/CmsKitCommonApplicationModule.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/CmsKitCommonApplicationModule.cs @@ -1,11 +1,7 @@ -using Volo.Abp.Application; -using Volo.Abp.AutoMapper; -using Volo.Abp.GlobalFeatures; +using Microsoft.Extensions.DependencyInjection; +using Volo.Abp.Application; +using Volo.Abp.Mapperly; using Volo.Abp.Modularity; -using Volo.CmsKit.Blogs; -using Volo.CmsKit.GlobalFeatures; -using Volo.CmsKit.MediaDescriptors; -using Volo.CmsKit.Permissions; namespace Volo.CmsKit; @@ -13,15 +9,12 @@ namespace Volo.CmsKit; typeof(CmsKitCommonApplicationContractsModule), typeof(CmsKitDomainModule), typeof(AbpDddApplicationModule), - typeof(AbpAutoMapperModule) + typeof(AbpMapperlyModule) )] public class CmsKitCommonApplicationModule : AbpModule { public override void ConfigureServices(ServiceConfigurationContext context) { - Configure(options => - { - options.AddMaps(validate: true); - }); + context.Services.AddMapperlyObjectMapper(); } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Common.Web/CmsKitCommonWebModule.cs b/modules/cms-kit/src/Volo.CmsKit.Common.Web/CmsKitCommonWebModule.cs index e8a30a75bc..754f2263a0 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Common.Web/CmsKitCommonWebModule.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Common.Web/CmsKitCommonWebModule.cs @@ -1,5 +1,5 @@ using Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared; -using Volo.Abp.AutoMapper; +using Volo.Abp.Mapperly; using Volo.Abp.Http.ProxyScripting.Generators.JQuery; using Volo.Abp.Modularity; using Volo.Abp.VirtualFileSystem; @@ -13,12 +13,14 @@ namespace Volo.CmsKit.Web; [DependsOn( typeof(AbpAspNetCoreMvcUiThemeSharedModule), typeof(CmsKitCommonApplicationContractsModule), - typeof(AbpAutoMapperModule) + typeof(AbpMapperlyModule) )] public class CmsKitCommonWebModule : AbpModule { public override void ConfigureServices(ServiceConfigurationContext context) { + context.Services.AddMapperlyObjectMapper(); + Configure(options => { options.ReactionIcons[StandardReactions.Smile] = new LocalizableIconDictionary("fas fa-smile text-warning"); diff --git a/modules/cms-kit/src/Volo.CmsKit.Common.Web/Volo.CmsKit.Common.Web.csproj b/modules/cms-kit/src/Volo.CmsKit.Common.Web/Volo.CmsKit.Common.Web.csproj index 8e8fe81033..f74f7012d0 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Common.Web/Volo.CmsKit.Common.Web.csproj +++ b/modules/cms-kit/src/Volo.CmsKit.Common.Web/Volo.CmsKit.Common.Web.csproj @@ -14,7 +14,7 @@ - + diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/CmsKitPublicApplicationMappers.cs b/modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/CmsKitPublicApplicationMappers.cs new file mode 100644 index 0000000000..4a356a8f23 --- /dev/null +++ b/modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/CmsKitPublicApplicationMappers.cs @@ -0,0 +1,111 @@ +using Riok.Mapperly.Abstractions; +using Volo.Abp.Mapperly; +using Volo.CmsKit.Blogs; +using Volo.CmsKit.Comments; +using Volo.CmsKit.Contents; +using Volo.CmsKit.GlobalResources; +using Volo.CmsKit.Menus; +using Volo.CmsKit.Pages; +using Volo.CmsKit.Public.Comments; +using Volo.CmsKit.Public.GlobalResources; +using Volo.CmsKit.Public.Ratings; +using Volo.CmsKit.Ratings; +using Volo.CmsKit.Users; + +namespace Volo.CmsKit.Public; + +[Mapper] +[MapExtraProperties] +public partial class CmsUserToCmsUserDtoMapper : MapperBase +{ + public override partial Comments.CmsUserDto Map(CmsUser source); + + public override partial void Map(CmsUser source, Comments.CmsUserDto destination); +} + +[Mapper] +[MapExtraProperties] +public partial class CommentToCommentDtoMapper : MapperBase +{ + [MapperIgnoreTarget(nameof(CommentDto.Author))] + public override partial CommentDto Map(Comment source); + + [MapperIgnoreTarget(nameof(CommentDto.Author))] + public override partial void Map(Comment source, CommentDto destination); +} + +[Mapper] +[MapExtraProperties] +public partial class CommentToCommentWithDetailsDtoMapper : MapperBase +{ + [MapperIgnoreTarget(nameof(CommentWithDetailsDto.Replies))] + [MapperIgnoreTarget(nameof(CommentWithDetailsDto.Author))] + public override partial CommentWithDetailsDto Map(Comment source); + + [MapperIgnoreTarget(nameof(CommentWithDetailsDto.Replies))] + [MapperIgnoreTarget(nameof(CommentWithDetailsDto.Author))] + public override partial void Map(Comment source, CommentWithDetailsDto destination); +} + +[Mapper] +[MapExtraProperties] +public partial class RatingToRatingDtoMapper : MapperBase +{ + public override partial RatingDto Map(Rating source); + + public override partial void Map(Rating source, RatingDto destination); +} + +[Mapper] +[MapExtraProperties] +public partial class PageToPageCacheItemMapper : MapperBase +{ + public override partial PageCacheItem Map(Page source); + + public override partial void Map(Page source, PageCacheItem destination); +} + +[Mapper] +[MapExtraProperties] +public partial class PageCacheItemToPageDtoMapper : MapperBase +{ + public override partial PageDto Map(PageCacheItem source); + + public override partial void Map(PageCacheItem source, PageDto destination); +} + +[Mapper] +[MapExtraProperties] +public partial class BlogPostToPageDtoMapper : MapperBase +{ + public override partial PageDto Map(Page source); + + public override partial void Map(Page source, PageDto destination); +} + +[Mapper] +[MapExtraProperties] +public partial class BlogPostToBlogPostCommonDtoMapper : MapperBase +{ + public override partial BlogPostCommonDto Map(BlogPost source); + + public override partial void Map(BlogPost source, BlogPostCommonDto destination); +} + +[Mapper] +[MapExtraProperties] +public partial class MenuItemToMenuItemDtoMapper : MapperBase +{ + public override partial MenuItemDto Map(MenuItem source); + + public override partial void Map(MenuItem source, MenuItemDto destination); +} + +[Mapper] +[MapExtraProperties] +public partial class GlobalResourceToGlobalResourceDtoMapper : MapperBase +{ + public override partial GlobalResourceDto Map(GlobalResource source); + + public override partial void Map(GlobalResource source, GlobalResourceDto destination); +} \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/CmsKitPublicApplicationModule.cs b/modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/CmsKitPublicApplicationModule.cs index 4d7f816081..93a0ae83f1 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/CmsKitPublicApplicationModule.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/CmsKitPublicApplicationModule.cs @@ -1,5 +1,4 @@ using Microsoft.Extensions.DependencyInjection; -using Volo.Abp.AutoMapper; using Volo.Abp.Caching; using Volo.Abp.Modularity; @@ -14,11 +13,6 @@ public class CmsKitPublicApplicationModule : AbpModule { public override void ConfigureServices(ServiceConfigurationContext context) { - context.Services.AddAutoMapperObjectMapper(); - - Configure(options => - { - options.AddMaps(validate: true); - }); + context.Services.AddMapperlyObjectMapper(); } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/PublicApplicationAutoMapperProfile.cs b/modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/PublicApplicationAutoMapperProfile.cs deleted file mode 100644 index a625eca4f8..0000000000 --- a/modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/PublicApplicationAutoMapperProfile.cs +++ /dev/null @@ -1,46 +0,0 @@ -using AutoMapper; -using Volo.Abp.AutoMapper; -using Volo.CmsKit.Blogs; -using Volo.CmsKit.Comments; -using Volo.CmsKit.Contents; -using Volo.CmsKit.GlobalResources; -using Volo.CmsKit.Menus; -using Volo.CmsKit.Pages; -using Volo.CmsKit.Public.Blogs; -using Volo.CmsKit.Public.Comments; -using Volo.CmsKit.Public.GlobalResources; -using Volo.CmsKit.Public.Ratings; -using Volo.CmsKit.Ratings; -using Volo.CmsKit.Users; - -namespace Volo.CmsKit.Public; - -public class PublicApplicationAutoMapperProfile : Profile -{ - public PublicApplicationAutoMapperProfile() - { - CreateMap().MapExtraProperties(); - - CreateMap() - .Ignore(x => x.Author).MapExtraProperties(); - - CreateMap() - .Ignore(x => x.Replies) - .Ignore(x => x.Author) - .MapExtraProperties(); - - CreateMap(); - - CreateMap().MapExtraProperties(); - - CreateMap().MapExtraProperties(); - - CreateMap().MapExtraProperties(); - - CreateMap().MapExtraProperties(); - - CreateMap().MapExtraProperties(); - - CreateMap().MapExtraProperties(); - } -} diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.Web/CmsKitPublicWebAutoMapperProfile.cs b/modules/cms-kit/src/Volo.CmsKit.Public.Web/CmsKitPublicWebAutoMapperProfile.cs index 5acb8d6fe9..2c657e19de 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Public.Web/CmsKitPublicWebAutoMapperProfile.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Public.Web/CmsKitPublicWebAutoMapperProfile.cs @@ -1,15 +1,38 @@ -using AutoMapper; -using Volo.Abp.AutoMapper; -using Volo.CmsKit.Menus; +using Riok.Mapperly.Abstractions; +using Volo.Abp.Mapperly; +using Volo.CmsKit.Contents; using Volo.CmsKit.Public.Comments; +using Volo.CmsKit.Public.Web.Pages.Public.CmsKit.Blogs; +using Volo.CmsKit.Public.Web.Pages.Public.CmsKit.Pages; namespace Volo.CmsKit.Public.Web; -public class CmsKitPublicWebAutoMapperProfile : Profile +[Mapper] +public partial class PageDtoToPageViewModelMapper : TwoWayMapperBase { - public CmsKitPublicWebAutoMapperProfile() - { - CreateMap() - .Ignore(x=> x.ExtraProperties); - } + public override partial PageViewModel Map(PageDto source); + public override partial void Map(PageDto source, PageViewModel destination); + + public override partial PageDto ReverseMap(PageViewModel destination); + public override partial void ReverseMap(PageViewModel destination, PageDto source); +} + +[Mapper] +public partial class BlogPostCommonDtoToBlogPostViewModelMapper : TwoWayMapperBase +{ + public override partial BlogPostViewModel Map(BlogPostCommonDto source); + public override partial void Map(BlogPostCommonDto source, BlogPostViewModel destination); + + public override partial BlogPostCommonDto ReverseMap(BlogPostViewModel destination); + public override partial void ReverseMap(BlogPostViewModel destination, BlogPostCommonDto source); } + +[Mapper] +public partial class CreateCommentWithParametersInputToCommentDtoMapper : MapperBase +{ + [MapperIgnoreTarget(nameof(CreateCommentInput.ExtraProperties))] + public override partial CreateCommentInput Map(CreateCommentWithParametersInput source); + + [MapperIgnoreTarget(nameof(CreateCommentInput.ExtraProperties))] + public override partial void Map(CreateCommentWithParametersInput source, CreateCommentInput destination); +} \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.Web/CmsKitPublicWebModule.cs b/modules/cms-kit/src/Volo.CmsKit.Public.Web/CmsKitPublicWebModule.cs index 8132202717..31344206ec 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Public.Web/CmsKitPublicWebModule.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Public.Web/CmsKitPublicWebModule.cs @@ -3,7 +3,7 @@ using Microsoft.AspNetCore.Mvc.RazorPages; using Microsoft.AspNetCore.Routing; using Microsoft.Extensions.DependencyInjection; using Volo.Abp.AspNetCore.Mvc.Localization; -using Volo.Abp.AutoMapper; +using Volo.Abp.Mapperly; using Volo.Abp.Caching; using Volo.Abp.GlobalFeatures; using Volo.Abp.Http.ProxyScripting.Generators.JQuery; @@ -67,12 +67,7 @@ public class CmsKitPublicWebModule : AbpModule options.FileSets.AddEmbedded("Volo.CmsKit.Public.Web"); }); - context.Services.AddAutoMapperObjectMapper(); - - Configure(options => - { - options.AddMaps(validate: true); - }); + context.Services.AddMapperlyObjectMapper(); Configure(options => { diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/Public/CmsKit/Blogs/BlogPostViewModel.cs b/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/Public/CmsKit/Blogs/BlogPostViewModel.cs index 789d2687fc..02caf748ef 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/Public/CmsKit/Blogs/BlogPostViewModel.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/Public/CmsKit/Blogs/BlogPostViewModel.cs @@ -1,13 +1,11 @@ using System; using System.Collections.Generic; -using AutoMapper; using Volo.Abp.Application.Dtos; using Volo.CmsKit.Contents; using Volo.CmsKit.Users; namespace Volo.CmsKit.Public.Web.Pages.Public.CmsKit.Blogs; -[AutoMap(typeof(BlogPostCommonDto), ReverseMap = true)] public class BlogPostViewModel : AuditedEntityDto { public Guid BlogId { get; set; } diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/Public/CmsKit/Pages/PageViewModel.cs b/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/Public/CmsKit/Pages/PageViewModel.cs index 27432305fe..ebc2a9f69c 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/Public/CmsKit/Pages/PageViewModel.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/Public/CmsKit/Pages/PageViewModel.cs @@ -1,12 +1,9 @@ using System; using System.Collections.Generic; -using AutoMapper; using Volo.CmsKit.Contents; -using Volo.CmsKit.Public.Pages; namespace Volo.CmsKit.Public.Web.Pages.Public.CmsKit.Pages; -[AutoMap(typeof(PageDto), ReverseMap = true)] public class PageViewModel { public Guid Id { get; set; } diff --git a/modules/docs/src/Volo.Docs.Admin.Application/Volo/Docs/Admin/DocsAdminApplicationMappers.cs b/modules/docs/src/Volo.Docs.Admin.Application/Volo/Docs/Admin/DocsAdminApplicationMappers.cs index c1eaca595f..dbd627c700 100644 --- a/modules/docs/src/Volo.Docs.Admin.Application/Volo/Docs/Admin/DocsAdminApplicationMappers.cs +++ b/modules/docs/src/Volo.Docs.Admin.Application/Volo/Docs/Admin/DocsAdminApplicationMappers.cs @@ -45,6 +45,7 @@ public partial class DocumentToDocumentDtoMapper : MapperBase(); + } } } diff --git a/modules/docs/src/Volo.Docs.Admin.Web/DocsAdminWebAutoMappers.cs b/modules/docs/src/Volo.Docs.Admin.Web/DocsAdminWebAutoMappers.cs index 9d4a6b4849..5935d1c033 100644 --- a/modules/docs/src/Volo.Docs.Admin.Web/DocsAdminWebAutoMappers.cs +++ b/modules/docs/src/Volo.Docs.Admin.Web/DocsAdminWebAutoMappers.cs @@ -32,13 +32,18 @@ public partial class ProjectDtoToEditGithubProjectViewModelMapper : MapperBase

{ - [MapperIgnoreTarget(nameof(CreateProjectDto.ExtraProperties))] public override partial CreateProjectDto Map(CreateModel.CreateGithubProjectViewModel source); public override partial void Map(CreateModel.CreateGithubProjectViewModel source, CreateProjectDto destination); @@ -46,9 +51,9 @@ public partial class CreateGithubProjectViewModelToCreateProjectDtoMapper : Mapp [Mapper] +[MapExtraProperties] public partial class EditGithubProjectViewModelToUpdateProjectDtoMyClassMapper : MapperBase { - [MapperIgnoreTarget(nameof(UpdateProjectDto.ExtraProperties))] public override partial UpdateProjectDto Map(EditModel.EditGithubProjectViewModel source); public override partial void Map(EditModel.EditGithubProjectViewModel source, UpdateProjectDto destination); diff --git a/modules/docs/src/Volo.Docs.Application/Volo/Docs/DocsApplicationMappers.cs b/modules/docs/src/Volo.Docs.Application/Volo/Docs/DocsApplicationMappers.cs index cc4a99c82c..78342681d7 100644 --- a/modules/docs/src/Volo.Docs.Application/Volo/Docs/DocsApplicationMappers.cs +++ b/modules/docs/src/Volo.Docs.Application/Volo/Docs/DocsApplicationMappers.cs @@ -45,5 +45,7 @@ public partial class DocumentToDocumentWithDetailsDtoMapper : MapperBase(); + context.Services.TryAddSingleton(NullNavigationTreePostProcessor.Instance); } } diff --git a/modules/docs/src/Volo.Docs.Common.Application/Volo/Docs/Common/DocsCommonApplicationModule.cs b/modules/docs/src/Volo.Docs.Common.Application/Volo/Docs/Common/DocsCommonApplicationModule.cs index 99d5564e23..3339c528dd 100644 --- a/modules/docs/src/Volo.Docs.Common.Application/Volo/Docs/Common/DocsCommonApplicationModule.cs +++ b/modules/docs/src/Volo.Docs.Common.Application/Volo/Docs/Common/DocsCommonApplicationModule.cs @@ -13,4 +13,8 @@ namespace Volo.Docs.Common; )] public class DocsCommonApplicationModule : AbpModule { + public override void ConfigureServices(ServiceConfigurationContext context) + { + context.Services.AddMapperlyObjectMapper(); + } } \ No newline at end of file diff --git a/modules/docs/src/Volo.Docs.Domain/Volo/Docs/DocsDomainModule.cs b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/DocsDomainModule.cs index 8d0b4372d7..414ed4b36f 100644 --- a/modules/docs/src/Volo.Docs.Domain/Volo/Docs/DocsDomainModule.cs +++ b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/DocsDomainModule.cs @@ -35,6 +35,8 @@ namespace Volo.Docs { public override void ConfigureServices(ServiceConfigurationContext context) { + context.Services.AddMapperlyObjectMapper(); + Configure(options => { options.EtoMappings.Add(typeof(DocsDomainModule)); diff --git a/modules/docs/src/Volo.Docs.Web/DocsWebModule.cs b/modules/docs/src/Volo.Docs.Web/DocsWebModule.cs index d45236ee08..6839196d0b 100644 --- a/modules/docs/src/Volo.Docs.Web/DocsWebModule.cs +++ b/modules/docs/src/Volo.Docs.Web/DocsWebModule.cs @@ -45,6 +45,8 @@ namespace Volo.Docs public override void ConfigureServices(ServiceConfigurationContext context) { + context.Services.AddMapperlyObjectMapper(); + Configure(options => { options.FileSets.AddEmbedded();