From 942ba6ebcd683c455ca270afa2d21ac8a6d33d65 Mon Sep 17 00:00:00 2001 From: Yunus Emre Kalkan Date: Fri, 1 Aug 2025 16:51:54 +0300 Subject: [PATCH] Update blogging module for Mapperly --- .../Volo.Blogging.Admin.Application.csproj | 2 +- ...oggingAdminApplicationAutoMapperProfile.cs | 15 ---- .../Admin/BloggingAdminApplicationMappers.cs | 14 ++++ .../Admin/BloggingAdminApplicationModule.cs | 12 +-- .../AbpBloggingAdminWebAutoMapperProfile.cs | 18 ---- .../AbpBloggingAdminWebMappers.cs | 24 ++++++ .../BloggingAdminWebModule.cs | 10 +-- .../Volo.Blogging.Admin.Web.csproj | 2 +- .../Volo.Blogging.Application.csproj | 2 +- .../BloggingApplicationAutoMapperProfile.cs | 33 -------- .../Blogging/BloggingApplicationMappers.cs | 83 +++++++++++++++++++ .../Blogging/BloggingApplicationModule.cs | 10 +-- .../Volo.Blogging.Domain.csproj | 2 +- .../Volo/Blogging/BloggingDomainMappers.cs | 40 +++++++++ .../Blogging/BloggingDomainMappingProfile.cs | 19 ----- .../Volo/Blogging/BloggingDomainModule.cs | 11 +-- .../Volo/Blogging/Tagging/Tag.cs | 2 +- .../AbpBloggingWebAutoMapperProfile.cs | 16 ---- .../AbpBloggingWebMappers.cs | 23 +++++ .../Volo.Blogging.Web/BloggingWebModule.cs | 10 +-- .../Volo.Blogging.Web.csproj | 2 +- ...pers.cs => DocsAdminApplicationMappers.cs} | 0 ...erProfile.cs => DocsApplicationMappers.cs} | 0 ...ile.cs => DocsCommonApplicationMappers.cs} | 0 24 files changed, 200 insertions(+), 150 deletions(-) delete mode 100644 modules/blogging/src/Volo.Blogging.Admin.Application/Volo/Blogging/Admin/BloggingAdminApplicationAutoMapperProfile.cs create mode 100644 modules/blogging/src/Volo.Blogging.Admin.Application/Volo/Blogging/Admin/BloggingAdminApplicationMappers.cs delete mode 100644 modules/blogging/src/Volo.Blogging.Admin.Web/AbpBloggingAdminWebAutoMapperProfile.cs create mode 100644 modules/blogging/src/Volo.Blogging.Admin.Web/AbpBloggingAdminWebMappers.cs delete mode 100644 modules/blogging/src/Volo.Blogging.Application/Volo/Blogging/BloggingApplicationAutoMapperProfile.cs create mode 100644 modules/blogging/src/Volo.Blogging.Application/Volo/Blogging/BloggingApplicationMappers.cs create mode 100644 modules/blogging/src/Volo.Blogging.Domain/Volo/Blogging/BloggingDomainMappers.cs delete mode 100644 modules/blogging/src/Volo.Blogging.Domain/Volo/Blogging/BloggingDomainMappingProfile.cs delete mode 100644 modules/blogging/src/Volo.Blogging.Web/AbpBloggingWebAutoMapperProfile.cs create mode 100644 modules/blogging/src/Volo.Blogging.Web/AbpBloggingWebMappers.cs rename modules/docs/src/Volo.Docs.Admin.Application/Volo/Docs/Admin/{DocsAdminApplicationAutoMappers.cs => DocsAdminApplicationMappers.cs} (100%) rename modules/docs/src/Volo.Docs.Application/Volo/Docs/{DocsApplicationAutoMapperProfile.cs => DocsApplicationMappers.cs} (100%) rename modules/docs/src/Volo.Docs.Common.Application/Volo/Docs/Common/{DocsCommonApplicationAutoMapperProfile.cs => DocsCommonApplicationMappers.cs} (100%) diff --git a/modules/blogging/src/Volo.Blogging.Admin.Application/Volo.Blogging.Admin.Application.csproj b/modules/blogging/src/Volo.Blogging.Admin.Application/Volo.Blogging.Admin.Application.csproj index 45863cd86c..aea034ba35 100644 --- a/modules/blogging/src/Volo.Blogging.Admin.Application/Volo.Blogging.Admin.Application.csproj +++ b/modules/blogging/src/Volo.Blogging.Admin.Application/Volo.Blogging.Admin.Application.csproj @@ -17,7 +17,7 @@ - + diff --git a/modules/blogging/src/Volo.Blogging.Admin.Application/Volo/Blogging/Admin/BloggingAdminApplicationAutoMapperProfile.cs b/modules/blogging/src/Volo.Blogging.Admin.Application/Volo/Blogging/Admin/BloggingAdminApplicationAutoMapperProfile.cs deleted file mode 100644 index 378fc46132..0000000000 --- a/modules/blogging/src/Volo.Blogging.Admin.Application/Volo/Blogging/Admin/BloggingAdminApplicationAutoMapperProfile.cs +++ /dev/null @@ -1,15 +0,0 @@ -using AutoMapper; -using Volo.Blogging.Admin.Blogs; -using Volo.Blogging.Blogs; -using Volo.Blogging.Blogs.Dtos; - -namespace Volo.Blogging.Admin -{ - public class BloggingAdminApplicationAutoMapperProfile : Profile - { - public BloggingAdminApplicationAutoMapperProfile() - { - CreateMap(); - } - } -} diff --git a/modules/blogging/src/Volo.Blogging.Admin.Application/Volo/Blogging/Admin/BloggingAdminApplicationMappers.cs b/modules/blogging/src/Volo.Blogging.Admin.Application/Volo/Blogging/Admin/BloggingAdminApplicationMappers.cs new file mode 100644 index 0000000000..c28351f0c1 --- /dev/null +++ b/modules/blogging/src/Volo.Blogging.Admin.Application/Volo/Blogging/Admin/BloggingAdminApplicationMappers.cs @@ -0,0 +1,14 @@ +using Riok.Mapperly.Abstractions; +using Volo.Abp.Mapperly; +using Volo.Blogging.Blogs; +using Volo.Blogging.Blogs.Dtos; + +namespace Volo.Blogging.Admin; + +[Mapper] +public partial class BlogToBlogDtoMapper : MapperBase +{ + public override partial BlogDto Map(Blog source); + + public override partial void Map(Blog source, BlogDto destination); +} \ No newline at end of file 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 c9fcbbaf0a..cbe6936ae4 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 @@ -1,7 +1,7 @@ using Microsoft.AspNetCore.Authorization; using Microsoft.Extensions.DependencyInjection; using Volo.Abp.Application; -using Volo.Abp.AutoMapper; +using Volo.Abp.Mapperly; using Volo.Abp.Caching; using Volo.Abp.Modularity; using Volo.Blogging.Comments; @@ -13,18 +13,10 @@ namespace Volo.Blogging.Admin typeof(BloggingDomainModule), typeof(BloggingAdminApplicationContractsModule), typeof(AbpCachingModule), - typeof(AbpAutoMapperModule), + typeof(AbpMapperlyModule), typeof(AbpDddApplicationModule) )] public class BloggingAdminApplicationModule : AbpModule { - public override void ConfigureServices(ServiceConfigurationContext context) - { - context.Services.AddAutoMapperObjectMapper(); - Configure(options => - { - options.AddProfile(validate: true); - }); - } } } diff --git a/modules/blogging/src/Volo.Blogging.Admin.Web/AbpBloggingAdminWebAutoMapperProfile.cs b/modules/blogging/src/Volo.Blogging.Admin.Web/AbpBloggingAdminWebAutoMapperProfile.cs deleted file mode 100644 index 35f83cd480..0000000000 --- a/modules/blogging/src/Volo.Blogging.Admin.Web/AbpBloggingAdminWebAutoMapperProfile.cs +++ /dev/null @@ -1,18 +0,0 @@ -using AutoMapper; -using Volo.Blogging.Admin.Blogs; -using Volo.Blogging.Admin.Pages.Blogging.Admin.Blogs; -using Volo.Blogging.Blogs; -using Volo.Blogging.Blogs.Dtos; -using EditModel = Volo.Blogging.Admin.Pages.Blogging.Admin.Blogs.EditModel; - -namespace Volo.Blogging.Admin -{ - public class AbpBloggingAdminWebAutoMapperProfile : Profile - { - public AbpBloggingAdminWebAutoMapperProfile() - { - CreateMap(); - CreateMap(); - } - } -} diff --git a/modules/blogging/src/Volo.Blogging.Admin.Web/AbpBloggingAdminWebMappers.cs b/modules/blogging/src/Volo.Blogging.Admin.Web/AbpBloggingAdminWebMappers.cs new file mode 100644 index 0000000000..3536caba64 --- /dev/null +++ b/modules/blogging/src/Volo.Blogging.Admin.Web/AbpBloggingAdminWebMappers.cs @@ -0,0 +1,24 @@ +using Riok.Mapperly.Abstractions; +using Volo.Abp.Mapperly; +using Volo.Blogging.Admin.Blogs; +using Volo.Blogging.Admin.Pages.Blogging.Admin.Blogs; +using Volo.Blogging.Blogs.Dtos; +using EditModel = Volo.Blogging.Admin.Pages.Blogging.Admin.Blogs.EditModel; + +namespace Volo.Blogging.Admin; + +[Mapper] +public partial class BlogDtoToBlogEditViewModelMapper : MapperBase +{ + public override partial EditModel.BlogEditViewModel Map(BlogDto source); + + public override partial void Map(BlogDto source, EditModel.BlogEditViewModel destination); +} + +[Mapper] +public partial class BlogCreateModalViewToCreateBlogDtoMapper : MapperBase +{ + public override partial CreateBlogDto Map(CreateModel.BlogCreateModalView source); + + public override partial void Map(CreateModel.BlogCreateModalView source, CreateBlogDto destination); +} diff --git a/modules/blogging/src/Volo.Blogging.Admin.Web/BloggingAdminWebModule.cs b/modules/blogging/src/Volo.Blogging.Admin.Web/BloggingAdminWebModule.cs index 507745b386..cfc5798132 100644 --- a/modules/blogging/src/Volo.Blogging.Admin.Web/BloggingAdminWebModule.cs +++ b/modules/blogging/src/Volo.Blogging.Admin.Web/BloggingAdminWebModule.cs @@ -2,7 +2,7 @@ using Volo.Abp.AspNetCore.Mvc.Localization; using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap; using Volo.Abp.AspNetCore.Mvc.UI.Bundling; -using Volo.Abp.AutoMapper; +using Volo.Abp.Mapperly; using Volo.Abp.Http.ProxyScripting.Generators.JQuery; using Volo.Abp.Modularity; using Volo.Abp.UI.Navigation; @@ -15,7 +15,7 @@ namespace Volo.Blogging.Admin typeof(BloggingAdminApplicationContractsModule), typeof(AbpAspNetCoreMvcUiBootstrapModule), typeof(AbpAspNetCoreMvcUiBundlingModule), - typeof(AbpAutoMapperModule) + typeof(AbpMapperlyModule) )] public class BloggingAdminWebModule : AbpModule { @@ -44,12 +44,6 @@ namespace Volo.Blogging.Admin options.FileSets.AddEmbedded(); }); - context.Services.AddAutoMapperObjectMapper(); - Configure(options => - { - options.AddProfile(validate: true); - }); - Configure(options => { options.DisableModule(BloggingAdminRemoteServiceConsts.ModuleName); diff --git a/modules/blogging/src/Volo.Blogging.Admin.Web/Volo.Blogging.Admin.Web.csproj b/modules/blogging/src/Volo.Blogging.Admin.Web/Volo.Blogging.Admin.Web.csproj index 04df5c550d..89b19e0be5 100644 --- a/modules/blogging/src/Volo.Blogging.Admin.Web/Volo.Blogging.Admin.Web.csproj +++ b/modules/blogging/src/Volo.Blogging.Admin.Web/Volo.Blogging.Admin.Web.csproj @@ -18,7 +18,7 @@ - + diff --git a/modules/blogging/src/Volo.Blogging.Application/Volo.Blogging.Application.csproj b/modules/blogging/src/Volo.Blogging.Application/Volo.Blogging.Application.csproj index 5119993b9c..08d01780d6 100644 --- a/modules/blogging/src/Volo.Blogging.Application/Volo.Blogging.Application.csproj +++ b/modules/blogging/src/Volo.Blogging.Application/Volo.Blogging.Application.csproj @@ -17,7 +17,7 @@ - + diff --git a/modules/blogging/src/Volo.Blogging.Application/Volo/Blogging/BloggingApplicationAutoMapperProfile.cs b/modules/blogging/src/Volo.Blogging.Application/Volo/Blogging/BloggingApplicationAutoMapperProfile.cs deleted file mode 100644 index 71e90070cf..0000000000 --- a/modules/blogging/src/Volo.Blogging.Application/Volo/Blogging/BloggingApplicationAutoMapperProfile.cs +++ /dev/null @@ -1,33 +0,0 @@ -using AutoMapper; -using Volo.Abp.AutoMapper; -using Volo.Blogging.Blogs; -using Volo.Blogging.Blogs.Dtos; -using Volo.Blogging.Comments; -using Volo.Blogging.Comments.Dtos; -using Volo.Blogging.Posts; -using Volo.Blogging.Tagging; -using Volo.Blogging.Tagging.Dtos; -using Volo.Blogging.Users; - -namespace Volo.Blogging -{ - public class BloggingApplicationAutoMapperProfile : Profile - { - public BloggingApplicationAutoMapperProfile() - { - CreateMap(); - CreateMap(); - CreateMap().Ignore(x=>x.Writer).Ignore(x=>x.CommentCount).Ignore(x=>x.Tags); - CreateMap().Ignore(x => x.Writer); - CreateMap(); - CreateMap().Ignore(x=>x.CommentCount).Ignore(x=>x.Tags); - CreateMap() - .IgnoreModificationAuditedObjectProperties() - .IgnoreDeletionAuditedObjectProperties() - .Ignore(x => x.ConcurrencyStamp) - .Ignore(x => x.Writer) - .Ignore(x => x.CommentCount) - .Ignore(x => x.Tags); - } - } -} diff --git a/modules/blogging/src/Volo.Blogging.Application/Volo/Blogging/BloggingApplicationMappers.cs b/modules/blogging/src/Volo.Blogging.Application/Volo/Blogging/BloggingApplicationMappers.cs new file mode 100644 index 0000000000..0638cbf95d --- /dev/null +++ b/modules/blogging/src/Volo.Blogging.Application/Volo/Blogging/BloggingApplicationMappers.cs @@ -0,0 +1,83 @@ +using Riok.Mapperly.Abstractions; +using Volo.Abp.Mapperly; +using Volo.Blogging.Blogs; +using Volo.Blogging.Blogs.Dtos; +using Volo.Blogging.Comments; +using Volo.Blogging.Comments.Dtos; +using Volo.Blogging.Posts; +using Volo.Blogging.Tagging; +using Volo.Blogging.Tagging.Dtos; +using Volo.Blogging.Users; + +namespace Volo.Blogging; + +[Mapper] +public partial class PostCacheItemToPostWithDetailsDtoMapper : MapperBase +{ + [MapperIgnoreTarget(nameof(PostWithDetailsDto.LastModificationTime))] + [MapperIgnoreTarget(nameof(PostWithDetailsDto.LastModifierId))] + [MapperIgnoreTarget(nameof(PostWithDetailsDto.IsDeleted))] + [MapperIgnoreTarget(nameof(PostWithDetailsDto.DeletionTime))] + [MapperIgnoreTarget(nameof(PostWithDetailsDto.DeleterId))] + [MapperIgnoreTarget(nameof(PostWithDetailsDto.ConcurrencyStamp))] + [MapperIgnoreTarget(nameof(PostWithDetailsDto.Writer))] + [MapperIgnoreTarget(nameof(PostWithDetailsDto.CommentCount))] + [MapperIgnoreTarget(nameof(PostWithDetailsDto.Tags))] + public override partial PostWithDetailsDto Map(PostCacheItem source); + + public override partial void Map(PostCacheItem source, PostWithDetailsDto destination); +} + +[Mapper] +public partial class PostToPostCacheItemMapper : MapperBase +{ + [MapperIgnoreTarget(nameof(PostCacheItem.CommentCount))] + [MapperIgnoreTarget(nameof(PostCacheItem.Tags))] + public override partial PostCacheItem Map(Post source); + + public override partial void Map(Post source, PostCacheItem destination); +} + +[Mapper] +public partial class CommentToCommentWithDetailsDtoMapper : MapperBase +{ + [MapperIgnoreTarget(nameof(CommentWithDetailsDto.Writer))] + public override partial CommentWithDetailsDto Map(Comment source); + + public override partial void Map(Comment source, CommentWithDetailsDto destination); +} + +[Mapper] +public partial class PostToPostWithDetailsDtoMapper : MapperBase +{ + [MapperIgnoreTarget(nameof(PostWithDetailsDto.Tags))] + [MapperIgnoreTarget(nameof(PostWithDetailsDto.CommentCount))] + [MapperIgnoreTarget(nameof(PostWithDetailsDto.Writer))] + public override partial PostWithDetailsDto Map(Post source); + + public override partial void Map(Post source, PostWithDetailsDto destination); +} + +[Mapper] +public partial class TagToTagDtoMapper : MapperBase +{ + public override partial TagDto Map(Tag source); + + public override partial void Map(Tag source, TagDto destination); +} + +[Mapper] +public partial class BlogUserToBlogUserDtoMapper : MapperBase +{ + public override partial BlogUserDto Map(BlogUser source); + + public override partial void Map(BlogUser source, BlogUserDto destination); +} + +[Mapper] +public partial class BlogToBlogDtoMapper : MapperBase +{ + public override partial BlogDto Map(Blog source); + + public override partial void Map(Blog source, BlogDto destination); +} diff --git a/modules/blogging/src/Volo.Blogging.Application/Volo/Blogging/BloggingApplicationModule.cs b/modules/blogging/src/Volo.Blogging.Application/Volo/Blogging/BloggingApplicationModule.cs index aee53fe9b0..8edf0783f7 100644 --- a/modules/blogging/src/Volo.Blogging.Application/Volo/Blogging/BloggingApplicationModule.cs +++ b/modules/blogging/src/Volo.Blogging.Application/Volo/Blogging/BloggingApplicationModule.cs @@ -1,7 +1,7 @@ using Microsoft.AspNetCore.Authorization; using Microsoft.Extensions.DependencyInjection; using Volo.Abp.Application; -using Volo.Abp.AutoMapper; +using Volo.Abp.Mapperly; using Volo.Abp.BlobStoring; using Volo.Abp.Caching; using Volo.Abp.Modularity; @@ -14,7 +14,7 @@ namespace Volo.Blogging typeof(BloggingDomainModule), typeof(BloggingApplicationContractsModule), typeof(AbpCachingModule), - typeof(AbpAutoMapperModule), + typeof(AbpMapperlyModule), typeof(AbpBlobStoringModule), typeof(AbpDddApplicationModule) )] @@ -22,12 +22,6 @@ namespace Volo.Blogging { public override void ConfigureServices(ServiceConfigurationContext context) { - context.Services.AddAutoMapperObjectMapper(); - Configure(options => - { - options.AddProfile(validate: true); - }); - 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.Domain.csproj b/modules/blogging/src/Volo.Blogging.Domain/Volo.Blogging.Domain.csproj index ff0dbba17b..75291c83c1 100644 --- a/modules/blogging/src/Volo.Blogging.Domain/Volo.Blogging.Domain.csproj +++ b/modules/blogging/src/Volo.Blogging.Domain/Volo.Blogging.Domain.csproj @@ -13,7 +13,7 @@ - + diff --git a/modules/blogging/src/Volo.Blogging.Domain/Volo/Blogging/BloggingDomainMappers.cs b/modules/blogging/src/Volo.Blogging.Domain/Volo/Blogging/BloggingDomainMappers.cs new file mode 100644 index 0000000000..c02278c704 --- /dev/null +++ b/modules/blogging/src/Volo.Blogging.Domain/Volo/Blogging/BloggingDomainMappers.cs @@ -0,0 +1,40 @@ +using Riok.Mapperly.Abstractions; +using Volo.Abp.Mapperly; +using Volo.Blogging.Blogs; +using Volo.Blogging.Comments; +using Volo.Blogging.Posts; +using Volo.Blogging.Tagging; + +namespace Volo.Blogging; + +[Mapper] +public partial class TagToTagEtoMapper : MapperBase +{ + public override partial TagEto Map(Tag source); + + public override partial void Map(Tag source, TagEto destination); +} + +[Mapper] +public partial class PostToPostEtoMapper : MapperBase +{ + public override partial PostEto Map(Post source); + + public override partial void Map(Post source, PostEto destination); +} + +[Mapper] +public partial class CommentToCommentEtoMapper : MapperBase +{ + public override partial CommentEto Map(Comment source); + + public override partial void Map(Comment source, CommentEto destination); +} + +[Mapper] +public partial class BlogToBlogEtoMapper : MapperBase +{ + public override partial BlogEto Map(Blog source); + + public override partial void Map(Blog source, BlogEto destination); +} \ No newline at end of file diff --git a/modules/blogging/src/Volo.Blogging.Domain/Volo/Blogging/BloggingDomainMappingProfile.cs b/modules/blogging/src/Volo.Blogging.Domain/Volo/Blogging/BloggingDomainMappingProfile.cs deleted file mode 100644 index da36b39049..0000000000 --- a/modules/blogging/src/Volo.Blogging.Domain/Volo/Blogging/BloggingDomainMappingProfile.cs +++ /dev/null @@ -1,19 +0,0 @@ -using AutoMapper; -using Volo.Blogging.Blogs; -using Volo.Blogging.Comments; -using Volo.Blogging.Posts; -using Volo.Blogging.Tagging; - -namespace Volo.Blogging -{ - public class BloggingDomainMappingProfile : Profile - { - public BloggingDomainMappingProfile() - { - CreateMap(); - CreateMap(); - CreateMap(); - CreateMap(); - } - } -} \ No newline at end of file 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 2e5e9a68e0..040d223e4d 100644 --- a/modules/blogging/src/Volo.Blogging.Domain/Volo/Blogging/BloggingDomainModule.cs +++ b/modules/blogging/src/Volo.Blogging.Domain/Volo/Blogging/BloggingDomainModule.cs @@ -1,5 +1,5 @@ using Microsoft.Extensions.DependencyInjection; -using Volo.Abp.AutoMapper; +using Volo.Abp.Mapperly; using Volo.Abp.Caching; using Volo.Abp.Domain; using Volo.Abp.Domain.Entities.Events.Distributed; @@ -14,20 +14,13 @@ namespace Volo.Blogging [DependsOn( typeof(BloggingDomainSharedModule), typeof(AbpDddDomainModule), - typeof(AbpAutoMapperModule), + typeof(AbpMapperlyModule), typeof(AbpCachingModule) )] public class BloggingDomainModule : AbpModule { public override void ConfigureServices(ServiceConfigurationContext context) { - context.Services.AddAutoMapperObjectMapper(); - - Configure(options => - { - options.AddProfile(validate: true); - }); - Configure(options => { options.EtoMappings.Add(typeof(BloggingDomainModule)); diff --git a/modules/blogging/src/Volo.Blogging.Domain/Volo/Blogging/Tagging/Tag.cs b/modules/blogging/src/Volo.Blogging.Domain/Volo/Blogging/Tagging/Tag.cs index fb8f97a4dc..452053dfec 100644 --- a/modules/blogging/src/Volo.Blogging.Domain/Volo/Blogging/Tagging/Tag.cs +++ b/modules/blogging/src/Volo.Blogging.Domain/Volo/Blogging/Tagging/Tag.cs @@ -15,7 +15,7 @@ namespace Volo.Blogging.Tagging public virtual int UsageCount { get; protected internal set; } - protected Tag() + public Tag() { } diff --git a/modules/blogging/src/Volo.Blogging.Web/AbpBloggingWebAutoMapperProfile.cs b/modules/blogging/src/Volo.Blogging.Web/AbpBloggingWebAutoMapperProfile.cs deleted file mode 100644 index f96b302a6a..0000000000 --- a/modules/blogging/src/Volo.Blogging.Web/AbpBloggingWebAutoMapperProfile.cs +++ /dev/null @@ -1,16 +0,0 @@ -using AutoMapper; -using Volo.Abp.AutoMapper; -using Volo.Blogging.Pages.Blogs.Posts; -using Volo.Blogging.Posts; - -namespace Volo.Blogging -{ - public class AbpBloggingWebAutoMapperProfile : Profile - { - public AbpBloggingWebAutoMapperProfile() - { - CreateMap().Ignore(x=>x.Tags); - CreateMap(); - } - } -} diff --git a/modules/blogging/src/Volo.Blogging.Web/AbpBloggingWebMappers.cs b/modules/blogging/src/Volo.Blogging.Web/AbpBloggingWebMappers.cs new file mode 100644 index 0000000000..c1d7f53329 --- /dev/null +++ b/modules/blogging/src/Volo.Blogging.Web/AbpBloggingWebMappers.cs @@ -0,0 +1,23 @@ +using Riok.Mapperly.Abstractions; +using Volo.Abp.Mapperly; +using Volo.Blogging.Pages.Blogs.Posts; +using Volo.Blogging.Posts; + +namespace Volo.Blogging; + +[Mapper] +public partial class PostWithDetailsDtoToEditPostViewModelMapper : MapperBase +{ + [MapperIgnoreTarget(nameof(EditPostViewModel.Tags))] + public override partial EditPostViewModel Map(PostWithDetailsDto source); + + public override partial void Map(PostWithDetailsDto source, EditPostViewModel destination); +} + +[Mapper] +public partial class CreatePostViewModelToCreatePostDtoMapper : MapperBase +{ + public override partial CreatePostDto Map(NewModel.CreatePostViewModel source); + + public override partial void Map(NewModel.CreatePostViewModel source, CreatePostDto destination); +} diff --git a/modules/blogging/src/Volo.Blogging.Web/BloggingWebModule.cs b/modules/blogging/src/Volo.Blogging.Web/BloggingWebModule.cs index 9de636cdb2..cb973b9d26 100644 --- a/modules/blogging/src/Volo.Blogging.Web/BloggingWebModule.cs +++ b/modules/blogging/src/Volo.Blogging.Web/BloggingWebModule.cs @@ -8,7 +8,7 @@ using Volo.Abp.AspNetCore.Mvc.Localization; using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap; using Volo.Abp.AspNetCore.Mvc.UI.Bundling; using Volo.Abp.AspNetCore.Mvc.UI.Packages.Prismjs; -using Volo.Abp.AutoMapper; +using Volo.Abp.Mapperly; using Volo.Abp.Http.ProxyScripting.Generators.JQuery; using Volo.Abp.Modularity; using Volo.Abp.UI.Navigation; @@ -23,7 +23,7 @@ namespace Volo.Blogging typeof(BloggingApplicationContractsModule), typeof(AbpAspNetCoreMvcUiBootstrapModule), typeof(AbpAspNetCoreMvcUiBundlingModule), - typeof(AbpAutoMapperModule) + typeof(AbpMapperlyModule) )] public class BloggingWebModule : AbpModule { @@ -47,12 +47,6 @@ namespace Volo.Blogging options.FileSets.AddEmbedded(); }); - context.Services.AddAutoMapperObjectMapper(); - Configure(options => - { - options.AddProfile(validate: true); - }); - Configure(options => { options diff --git a/modules/blogging/src/Volo.Blogging.Web/Volo.Blogging.Web.csproj b/modules/blogging/src/Volo.Blogging.Web/Volo.Blogging.Web.csproj index 06133868ab..a7156b0e8d 100644 --- a/modules/blogging/src/Volo.Blogging.Web/Volo.Blogging.Web.csproj +++ b/modules/blogging/src/Volo.Blogging.Web/Volo.Blogging.Web.csproj @@ -18,7 +18,7 @@ - + diff --git a/modules/docs/src/Volo.Docs.Admin.Application/Volo/Docs/Admin/DocsAdminApplicationAutoMappers.cs b/modules/docs/src/Volo.Docs.Admin.Application/Volo/Docs/Admin/DocsAdminApplicationMappers.cs similarity index 100% rename from modules/docs/src/Volo.Docs.Admin.Application/Volo/Docs/Admin/DocsAdminApplicationAutoMappers.cs rename to modules/docs/src/Volo.Docs.Admin.Application/Volo/Docs/Admin/DocsAdminApplicationMappers.cs diff --git a/modules/docs/src/Volo.Docs.Application/Volo/Docs/DocsApplicationAutoMapperProfile.cs b/modules/docs/src/Volo.Docs.Application/Volo/Docs/DocsApplicationMappers.cs similarity index 100% rename from modules/docs/src/Volo.Docs.Application/Volo/Docs/DocsApplicationAutoMapperProfile.cs rename to modules/docs/src/Volo.Docs.Application/Volo/Docs/DocsApplicationMappers.cs diff --git a/modules/docs/src/Volo.Docs.Common.Application/Volo/Docs/Common/DocsCommonApplicationAutoMapperProfile.cs b/modules/docs/src/Volo.Docs.Common.Application/Volo/Docs/Common/DocsCommonApplicationMappers.cs similarity index 100% rename from modules/docs/src/Volo.Docs.Common.Application/Volo/Docs/Common/DocsCommonApplicationAutoMapperProfile.cs rename to modules/docs/src/Volo.Docs.Common.Application/Volo/Docs/Common/DocsCommonApplicationMappers.cs