diff --git a/modules/account/src/Volo.Abp.Account.Application/Volo/Abp/Account/AbpAccountApplicationMappers.cs b/modules/account/src/Volo.Abp.Account.Application/Volo/Abp/Account/AbpAccountApplicationMappers.cs index dcfaf275dd..20cfd1753e 100644 --- a/modules/account/src/Volo.Abp.Account.Application/Volo/Abp/Account/AbpAccountApplicationMappers.cs +++ b/modules/account/src/Volo.Abp.Account.Application/Volo/Abp/Account/AbpAccountApplicationMappers.cs @@ -4,7 +4,7 @@ using Volo.Abp.Mapperly; namespace Volo.Abp.Account; -[Mapper] +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] [MapExtraProperties] public partial class IdentityUserToProfileDtoMapper : MapperBase { diff --git a/modules/account/src/Volo.Abp.Account.Blazor/AbpAccountBlazorMappers.cs b/modules/account/src/Volo.Abp.Account.Blazor/AbpAccountBlazorMappers.cs index 98ef9f9ab6..f3079ae8d5 100644 --- a/modules/account/src/Volo.Abp.Account.Blazor/AbpAccountBlazorMappers.cs +++ b/modules/account/src/Volo.Abp.Account.Blazor/AbpAccountBlazorMappers.cs @@ -5,7 +5,7 @@ using Volo.Abp.Identity; namespace Volo.Abp.Account.Blazor; -[Mapper] +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] [MapExtraProperties] public partial class ProfileDtoToPersonalInfoModelMapper : MapperBase { @@ -18,7 +18,7 @@ public partial class ProfileDtoToPersonalInfoModelMapper : MapperBase { diff --git a/modules/account/src/Volo.Abp.Account.Web/AbpAccountWebMappers.cs b/modules/account/src/Volo.Abp.Account.Web/AbpAccountWebMappers.cs index 09a2e8373c..e352b14ac6 100644 --- a/modules/account/src/Volo.Abp.Account.Web/AbpAccountWebMappers.cs +++ b/modules/account/src/Volo.Abp.Account.Web/AbpAccountWebMappers.cs @@ -4,7 +4,7 @@ using Volo.Abp.Mapperly; namespace Volo.Abp.Account.Web; -[Mapper] +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] [MapExtraProperties] public partial class ProfileDtoToPersonalInfoModelMapper : MapperBase { diff --git a/modules/blogging/src/Volo.Blogging.Admin.Application/Volo.Blogging.Admin.Application.abppkg.analyze.json b/modules/blogging/src/Volo.Blogging.Admin.Application/Volo.Blogging.Admin.Application.abppkg.analyze.json index 473750d55d..58e8a82dd7 100644 --- a/modules/blogging/src/Volo.Blogging.Admin.Application/Volo.Blogging.Admin.Application.abppkg.analyze.json +++ b/modules/blogging/src/Volo.Blogging.Admin.Application/Volo.Blogging.Admin.Application.abppkg.analyze.json @@ -21,9 +21,9 @@ "name": "AbpCachingModule" }, { - "declaringAssemblyName": "Volo.Abp.AutoMapper", - "namespace": "Volo.Abp.AutoMapper", - "name": "AbpAutoMapperModule" + "declaringAssemblyName": "Volo.Abp.Mapperly", + "namespace": "Volo.Abp.Mapperly", + "name": "AbpMapperlyModule" }, { "declaringAssemblyName": "Volo.Abp.Ddd.Application", 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..2999a3c480 --- /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(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +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..77ec9aa552 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,11 +1,8 @@ -using Microsoft.AspNetCore.Authorization; -using Microsoft.Extensions.DependencyInjection; +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; -using Volo.Blogging.Posts; namespace Volo.Blogging.Admin { @@ -13,18 +10,14 @@ 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); - }); + context.Services.AddMapperlyObjectMapper(); } } } 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..30a2518050 --- /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(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +public partial class BlogDtoToBlogEditViewModelMapper : MapperBase +{ + public override partial EditModel.BlogEditViewModel Map(BlogDto source); + + public override partial void Map(BlogDto source, EditModel.BlogEditViewModel destination); +} + +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +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..79e933465c 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 { @@ -34,6 +34,8 @@ namespace Volo.Blogging.Admin public override void ConfigureServices(ServiceConfigurationContext context) { + context.Services.AddMapperlyObjectMapper(); + Configure(options => { options.MenuContributors.Add(new BloggingAdminMenuContributor()); @@ -44,12 +46,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.abppkg.analyze.json b/modules/blogging/src/Volo.Blogging.Admin.Web/Volo.Blogging.Admin.Web.abppkg.analyze.json index bfadd4006b..42604b9be1 100644 --- a/modules/blogging/src/Volo.Blogging.Admin.Web/Volo.Blogging.Admin.Web.abppkg.analyze.json +++ b/modules/blogging/src/Volo.Blogging.Admin.Web/Volo.Blogging.Admin.Web.abppkg.analyze.json @@ -21,9 +21,9 @@ "name": "AbpAspNetCoreMvcUiBundlingModule" }, { - "declaringAssemblyName": "Volo.Abp.AutoMapper", - "namespace": "Volo.Abp.AutoMapper", - "name": "AbpAutoMapperModule" + "declaringAssemblyName": "Volo.Abp.Mapperly", + "namespace": "Volo.Abp.Mapperly", + "name": "AbpMapperlyModule" } ], "implementingInterfaces": [ 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.abppkg.analyze.json b/modules/blogging/src/Volo.Blogging.Application/Volo.Blogging.Application.abppkg.analyze.json index b332019e6d..417f7e0bd4 100644 --- a/modules/blogging/src/Volo.Blogging.Application/Volo.Blogging.Application.abppkg.analyze.json +++ b/modules/blogging/src/Volo.Blogging.Application/Volo.Blogging.Application.abppkg.analyze.json @@ -21,9 +21,9 @@ "name": "AbpCachingModule" }, { - "declaringAssemblyName": "Volo.Abp.AutoMapper", - "namespace": "Volo.Abp.AutoMapper", - "name": "AbpAutoMapperModule" + "declaringAssemblyName": "Volo.Abp.Mapperly", + "namespace": "Volo.Abp.Mapperly", + "name": "AbpMapperlyModule" }, { "declaringAssemblyName": "Volo.Abp.BlobStoring", 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..28bf339526 --- /dev/null +++ b/modules/blogging/src/Volo.Blogging.Application/Volo/Blogging/BloggingApplicationMappers.cs @@ -0,0 +1,98 @@ +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(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +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); + + [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 void Map(PostCacheItem source, PostWithDetailsDto destination); +} + +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +public partial class PostToPostCacheItemMapper : MapperBase +{ + [MapperIgnoreTarget(nameof(PostCacheItem.CommentCount))] + [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); +} + +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +public partial class CommentToCommentWithDetailsDtoMapper : MapperBase +{ + [MapperIgnoreTarget(nameof(CommentWithDetailsDto.Writer))] + public override partial CommentWithDetailsDto Map(Comment source); + + [MapperIgnoreTarget(nameof(CommentWithDetailsDto.Writer))] + public override partial void Map(Comment source, CommentWithDetailsDto destination); +} + +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +public partial class PostToPostWithDetailsDtoMapper : MapperBase +{ + [MapperIgnoreTarget(nameof(PostWithDetailsDto.Tags))] + [MapperIgnoreTarget(nameof(PostWithDetailsDto.CommentCount))] + [MapperIgnoreTarget(nameof(PostWithDetailsDto.Writer))] + public override partial PostWithDetailsDto Map(Post source); + + [MapperIgnoreTarget(nameof(PostWithDetailsDto.Tags))] + [MapperIgnoreTarget(nameof(PostWithDetailsDto.CommentCount))] + [MapperIgnoreTarget(nameof(PostWithDetailsDto.Writer))] + public override partial void Map(Post source, PostWithDetailsDto destination); +} + +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +public partial class TagToTagDtoMapper : MapperBase +{ + public override partial TagDto Map(Tag source); + + public override partial void Map(Tag source, TagDto destination); +} + +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +public partial class BlogUserToBlogUserDtoMapper : MapperBase +{ + public override partial BlogUserDto Map(BlogUser source); + + public override partial void Map(BlogUser source, BlogUserDto destination); +} + +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +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..2a4ba01979 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,8 @@ namespace Volo.Blogging { public override void ConfigureServices(ServiceConfigurationContext context) { - context.Services.AddAutoMapperObjectMapper(); - Configure(options => - { - options.AddProfile(validate: true); - }); - + context.Services.AddMapperlyObjectMapper(); + 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.abppkg.analyze.json b/modules/blogging/src/Volo.Blogging.Domain/Volo.Blogging.Domain.abppkg.analyze.json index 4fb8a11fb7..a91fd840e4 100644 --- a/modules/blogging/src/Volo.Blogging.Domain/Volo.Blogging.Domain.abppkg.analyze.json +++ b/modules/blogging/src/Volo.Blogging.Domain/Volo.Blogging.Domain.abppkg.analyze.json @@ -16,9 +16,9 @@ "name": "AbpDddDomainModule" }, { - "declaringAssemblyName": "Volo.Abp.AutoMapper", - "namespace": "Volo.Abp.AutoMapper", - "name": "AbpAutoMapperModule" + "declaringAssemblyName": "Volo.Abp.Mapperly", + "namespace": "Volo.Abp.Mapperly", + "name": "AbpMapperlyModule" }, { "declaringAssemblyName": "Volo.Abp.Caching", 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..dfc7fcadcf --- /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(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +public partial class TagToTagEtoMapper : MapperBase +{ + public override partial TagEto Map(Tag source); + + public override partial void Map(Tag source, TagEto destination); +} + +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +public partial class PostToPostEtoMapper : MapperBase +{ + public override partial PostEto Map(Post source); + + public override partial void Map(Post source, PostEto destination); +} + +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +public partial class CommentToCommentEtoMapper : MapperBase +{ + public override partial CommentEto Map(Comment source); + + public override partial void Map(Comment source, CommentEto destination); +} + +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +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..b2bd8439f2 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,15 @@ 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); - }); - + context.Services.AddMapperlyObjectMapper(); + Configure(options => { options.EtoMappings.Add(typeof(BloggingDomainModule)); 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..538621c56e --- /dev/null +++ b/modules/blogging/src/Volo.Blogging.Web/AbpBloggingWebMappers.cs @@ -0,0 +1,24 @@ +using Riok.Mapperly.Abstractions; +using Volo.Abp.Mapperly; +using Volo.Blogging.Pages.Blogs.Posts; +using Volo.Blogging.Posts; + +namespace Volo.Blogging; + +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +public partial class PostWithDetailsDtoToEditPostViewModelMapper : MapperBase +{ + [MapperIgnoreTarget(nameof(EditPostViewModel.Tags))] + public override partial EditPostViewModel Map(PostWithDetailsDto source); + + [MapperIgnoreTarget(nameof(EditPostViewModel.Tags))] + public override partial void Map(PostWithDetailsDto source, EditPostViewModel destination); +} + +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +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..95b66ee136 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 { @@ -42,17 +42,13 @@ namespace Volo.Blogging public override void ConfigureServices(ServiceConfigurationContext context) { + context.Services.AddMapperlyObjectMapper(); + Configure(options => { 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.abppkg.analyze.json b/modules/blogging/src/Volo.Blogging.Web/Volo.Blogging.Web.abppkg.analyze.json index 895ffb1675..7eba0d50a7 100644 --- a/modules/blogging/src/Volo.Blogging.Web/Volo.Blogging.Web.abppkg.analyze.json +++ b/modules/blogging/src/Volo.Blogging.Web/Volo.Blogging.Web.abppkg.analyze.json @@ -21,9 +21,9 @@ "name": "AbpAspNetCoreMvcUiBundlingModule" }, { - "declaringAssemblyName": "Volo.Abp.AutoMapper", - "namespace": "Volo.Abp.AutoMapper", - "name": "AbpAutoMapperModule" + "declaringAssemblyName": "Volo.Abp.Mapperly", + "namespace": "Volo.Abp.Mapperly", + "name": "AbpMapperlyModule" } ], "implementingInterfaces": [ 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/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.Application.abppkg.analyze.json b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo.CmsKit.Admin.Application.abppkg.analyze.json index e2ddb41de0..ce5b9fcead 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo.CmsKit.Admin.Application.abppkg.analyze.json +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo.CmsKit.Admin.Application.abppkg.analyze.json @@ -11,9 +11,9 @@ "name": "CmsKitAdminApplicationContractsModule" }, { - "declaringAssemblyName": "Volo.Abp.AutoMapper", - "namespace": "Volo.Abp.AutoMapper", - "name": "AbpAutoMapperModule" + "declaringAssemblyName": "Volo.Abp.Mapperly", + "namespace": "Volo.Abp.Mapperly", + "name": "AbpMapperlyModule" }, { "declaringAssemblyName": "Volo.CmsKit.Common.Application", 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..533fa08656 --- /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(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +public partial class TagEntityTypeDefinitonToTagDefinitionDtoMapper : MapperBase +{ + public override partial TagDefinitionDto Map(TagEntityTypeDefiniton source); + + public override partial void Map(TagEntityTypeDefiniton source, TagDefinitionDto destination); +} + +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +[MapExtraProperties] +public partial class BlogPostToBlogPostDtoMapper : MapperBase +{ + public override partial BlogPostDto Map(BlogPost source); + + public override partial void Map(BlogPost source, BlogPostDto destination); +} + +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +[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(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +[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(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +[MapExtraProperties] +public partial class MenuItemToMenuItemMapper : MapperBase +{ + public override partial MenuItemDto Map(MenuItem source); + + public override partial void Map(MenuItem source, MenuItemDto destination); +} + +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +[MapExtraProperties] +public partial class MediaDescriptorToMediaDescriptorDtoMapper : MapperBase +{ + public override partial MediaDescriptorDto Map(MediaDescriptor source); + + public override partial void Map(MediaDescriptor source, MediaDescriptorDto destination); +} + +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +[MapExtraProperties] +public partial class TagToTagDtoMapper : MapperBase +{ + public override partial TagDto Map(Tag source); + + public override partial void Map(Tag source, TagDto destination); +} + +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +[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(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +public partial class PageToPageLookupDtoMapper : MapperBase +{ + public override partial PageLookupDto Map(Page source); + + public override partial void Map(Page source, PageLookupDto destination); +} + +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +[MapExtraProperties] +public partial class PageToPageDtoMapper : MapperBase +{ + public override partial PageDto Map(Page source); + + public override partial void Map(Page source, PageDto destination); +} + +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +[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(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +[MapExtraProperties] +public partial class CommentToCommentDtoMapper : MapperBase +{ + public override partial CommentDto Map(Comment source); + + public override partial void Map(Comment source, CommentDto destination); +} + +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +[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..99b07a65fc --- /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(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +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(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +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(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +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(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +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(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +public partial class TagDtoToCreateBlogPostDtoMapper : MapperBase +{ + public override partial EditModalModel.TagEditViewModel Map(TagDto source); + + public override partial void Map(TagDto source, EditModalModel.TagEditViewModel destination); +} + +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +[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(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +[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(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +[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(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +[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(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +[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(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +[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(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +[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(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +[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(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +[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(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +[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(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +[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(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +[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(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +[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(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +[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(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +[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 f0730d08a7..6c9a324da8 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; @@ -48,7 +47,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.abppkg.analyze.json b/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo.CmsKit.Common.Application.abppkg.analyze.json index 970db426d7..b661387b41 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo.CmsKit.Common.Application.abppkg.analyze.json +++ b/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo.CmsKit.Common.Application.abppkg.analyze.json @@ -21,9 +21,9 @@ "name": "AbpDddApplicationModule" }, { - "declaringAssemblyName": "Volo.Abp.AutoMapper", - "namespace": "Volo.Abp.AutoMapper", - "name": "AbpAutoMapperModule" + "declaringAssemblyName": "Volo.Abp.Mapperly", + "namespace": "Volo.Abp.Mapperly", + "name": "AbpMapperlyModule" } ], "implementingInterfaces": [ 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 deleted file mode 100644 index 099b3e1b10..0000000000 --- a/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/CmsKitCommonApplicationAutoMapperProfile.cs +++ /dev/null @@ -1,25 +0,0 @@ -using AutoMapper; -using Volo.CmsKit.Blogs; -using Volo.CmsKit.Tags; -using Volo.CmsKit.Users; - -namespace Volo.CmsKit; - -public class CmsKitCommonApplicationAutoMapperProfile : Profile -{ - public CmsKitCommonApplicationAutoMapperProfile() - { - CreateMap().MapExtraProperties(); - - CreateMap(); - - CreateMap().MapExtraProperties(); - - CreateMap().MapExtraProperties(); - CreateMap().MapExtraProperties(); - CreateMap() - .MapExtraProperties() - .ReverseMap() - .MapExtraProperties(); - } -} diff --git a/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/CmsKitCommonApplicationMappers.cs b/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/CmsKitCommonApplicationMappers.cs new file mode 100644 index 0000000000..53ca4b28f7 --- /dev/null +++ b/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/CmsKitCommonApplicationMappers.cs @@ -0,0 +1,62 @@ +using Riok.Mapperly.Abstractions; +using Volo.Abp.Mapperly; +using Volo.CmsKit.Blogs; +using Volo.CmsKit.Tags; +using Volo.CmsKit.Users; + +namespace Volo.CmsKit; + +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +[MapExtraProperties] +public partial class OrganizationUnitRoleToOrganizationUnitRoleDtoMapper : TwoWayMapperBase +{ + public override partial BlogFeatureDto Map(BlogFeatureCacheItem source); + public override partial void Map(BlogFeatureCacheItem source, BlogFeatureDto destination); + + public override partial BlogFeatureCacheItem ReverseMap(BlogFeatureDto destination); + public override partial void ReverseMap(BlogFeatureDto destination, BlogFeatureCacheItem source); +} + +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +[MapExtraProperties] +public partial class BlogFeatureToBlogFeatureDtoMapper : MapperBase +{ + public override partial BlogFeatureDto Map(BlogFeature source); + + public override partial void Map(BlogFeature source, BlogFeatureDto destination); +} + +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +[MapExtraProperties] +public partial class BlogFeatureToBlogFeatureCacheItemMapper : MapperBase +{ + public override partial BlogFeatureCacheItem Map(BlogFeature source); + + public override partial void Map(BlogFeature source, BlogFeatureCacheItem destination); +} + +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +public partial class PopularTagToPopularTagDtoMapper : MapperBase +{ + public override partial PopularTagDto Map(PopularTag source); + + public override partial void Map(PopularTag source, PopularTagDto destination); +} + +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +[MapExtraProperties] +public partial class CmsUserToCmsUserDtoMapper : MapperBase +{ + public override partial CmsUserDto Map(CmsUser source); + + public override partial void Map(CmsUser source, CmsUserDto destination); +} + +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +[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.abppkg.analyze.json b/modules/cms-kit/src/Volo.CmsKit.Common.Web/Volo.CmsKit.Common.Web.abppkg.analyze.json index 6b69cfe938..e507786073 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Common.Web/Volo.CmsKit.Common.Web.abppkg.analyze.json +++ b/modules/cms-kit/src/Volo.CmsKit.Common.Web/Volo.CmsKit.Common.Web.abppkg.analyze.json @@ -16,9 +16,9 @@ "name": "CmsKitCommonApplicationContractsModule" }, { - "declaringAssemblyName": "Volo.Abp.AutoMapper", - "namespace": "Volo.Abp.AutoMapper", - "name": "AbpAutoMapperModule" + "declaringAssemblyName": "Volo.Abp.Mapperly", + "namespace": "Volo.Abp.Mapperly", + "name": "AbpMapperlyModule" } ], "implementingInterfaces": [ 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..2d71d87eb1 --- /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(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +[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(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +[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(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +[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(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +[MapExtraProperties] +public partial class RatingToRatingDtoMapper : MapperBase +{ + public override partial RatingDto Map(Rating source); + + public override partial void Map(Rating source, RatingDto destination); +} + +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +[MapExtraProperties] +public partial class PageToPageCacheItemMapper : MapperBase +{ + public override partial PageCacheItem Map(Page source); + + public override partial void Map(Page source, PageCacheItem destination); +} + +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +[MapExtraProperties] +public partial class PageCacheItemToPageDtoMapper : MapperBase +{ + public override partial PageDto Map(PageCacheItem source); + + public override partial void Map(PageCacheItem source, PageDto destination); +} + +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +[MapExtraProperties] +public partial class BlogPostToPageDtoMapper : MapperBase +{ + public override partial PageDto Map(Page source); + + public override partial void Map(Page source, PageDto destination); +} + +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +[MapExtraProperties] +public partial class BlogPostToBlogPostCommonDtoMapper : MapperBase +{ + public override partial BlogPostCommonDto Map(BlogPost source); + + public override partial void Map(BlogPost source, BlogPostCommonDto destination); +} + +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +[MapExtraProperties] +public partial class MenuItemToMenuItemDtoMapper : MapperBase +{ + public override partial MenuItemDto Map(MenuItem source); + + public override partial void Map(MenuItem source, MenuItemDto destination); +} + +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +[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..7fcbeed7d8 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(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +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(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +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(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +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.Application.abppkg.analyze.json b/modules/docs/src/Volo.Docs.Admin.Application/Volo.Docs.Admin.Application.abppkg.analyze.json index ad864b4fe1..ea4dad5da4 100644 --- a/modules/docs/src/Volo.Docs.Admin.Application/Volo.Docs.Admin.Application.abppkg.analyze.json +++ b/modules/docs/src/Volo.Docs.Admin.Application/Volo.Docs.Admin.Application.abppkg.analyze.json @@ -26,9 +26,9 @@ "name": "AbpCachingModule" }, { - "declaringAssemblyName": "Volo.Abp.AutoMapper", - "namespace": "Volo.Abp.AutoMapper", - "name": "AbpAutoMapperModule" + "declaringAssemblyName": "Volo.Abp.Mapperly", + "namespace": "Volo.Abp.Mapperly", + "name": "AbpMapperlyModule" }, { "declaringAssemblyName": "Volo.Abp.Ddd.Application", diff --git a/modules/docs/src/Volo.Docs.Admin.Application/Volo.Docs.Admin.Application.csproj b/modules/docs/src/Volo.Docs.Admin.Application/Volo.Docs.Admin.Application.csproj index 725c70bc2b..f1eb4e09f3 100644 --- a/modules/docs/src/Volo.Docs.Admin.Application/Volo.Docs.Admin.Application.csproj +++ b/modules/docs/src/Volo.Docs.Admin.Application/Volo.Docs.Admin.Application.csproj @@ -14,7 +14,7 @@ - + diff --git a/modules/docs/src/Volo.Docs.Admin.Application/Volo/Docs/Admin/DocsAdminApplicationAutoMapperProfile.cs b/modules/docs/src/Volo.Docs.Admin.Application/Volo/Docs/Admin/DocsAdminApplicationAutoMapperProfile.cs deleted file mode 100644 index 366c0ab27b..0000000000 --- a/modules/docs/src/Volo.Docs.Admin.Application/Volo/Docs/Admin/DocsAdminApplicationAutoMapperProfile.cs +++ /dev/null @@ -1,22 +0,0 @@ -using AutoMapper; -using Volo.Abp.AutoMapper; -using Volo.Docs.Admin.Documents; -using Volo.Docs.Admin.Projects; -using Volo.Docs.Documents; -using Volo.Docs.Projects; - -namespace Volo.Docs.Admin -{ - public class DocsAdminApplicationAutoMapperProfile : Profile - { - public DocsAdminApplicationAutoMapperProfile() - { - CreateMap(); - CreateMap().Ignore(x => x.ProjectName); - CreateMap(); - CreateMap(); - CreateMap(); - CreateMap(); - } - } -} \ No newline at end of file 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 new file mode 100644 index 0000000000..813e4165b8 --- /dev/null +++ b/modules/docs/src/Volo.Docs.Admin.Application/Volo/Docs/Admin/DocsAdminApplicationMappers.cs @@ -0,0 +1,58 @@ +using Riok.Mapperly.Abstractions; +using Volo.Abp.Mapperly; +using Volo.Docs.Admin.Documents; +using Volo.Docs.Admin.Projects; +using Volo.Docs.Documents; +using Volo.Docs.Projects; + +namespace Volo.Docs.Admin; + +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +public partial class ProjectPdfFileToProjectPdfFileDtoMapper : MapperBase +{ + public override partial ProjectPdfFileDto Map(ProjectPdfFile source); + + public override partial void Map(ProjectPdfFile source, ProjectPdfFileDto destination); +} + +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +public partial class DocumentInfoToDocumentInfoDtoMapper : MapperBase +{ + public override partial DocumentInfoDto Map(DocumentInfo source); + + public override partial void Map(DocumentInfo source, DocumentInfoDto destination); +} + +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +public partial class ProjectWithoutDetailsToProjectWithoutDetailsDtoMapper : MapperBase +{ + public override partial ProjectWithoutDetailsDto Map(ProjectWithoutDetails source); + + public override partial void Map(ProjectWithoutDetails source, ProjectWithoutDetailsDto destination); +} + +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +public partial class DocumentWithoutContentToDocumentDtoMapper : MapperBase +{ + public override partial DocumentDto Map(DocumentWithoutContent source); + + public override partial void Map(DocumentWithoutContent source, DocumentDto destination); +} + +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +public partial class DocumentToDocumentDtoMapper : MapperBase +{ + [MapperIgnoreTarget(nameof(DocumentDto.ProjectName))] + public override partial DocumentDto Map(Document source); + + [MapperIgnoreTarget(nameof(DocumentDto.ProjectName))] + public override partial void Map(Document source, DocumentDto destination); +} + +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +public partial class ProjectToProjectDtoMapper : MapperBase +{ + public override partial ProjectDto Map(Project source); + + public override partial void Map(Project source, ProjectDto destination); +} \ No newline at end of file diff --git a/modules/docs/src/Volo.Docs.Admin.Application/Volo/Docs/Admin/DocsAdminApplicationModule.cs b/modules/docs/src/Volo.Docs.Admin.Application/Volo/Docs/Admin/DocsAdminApplicationModule.cs index 2491bf5fb6..0a54afbcce 100644 --- a/modules/docs/src/Volo.Docs.Admin.Application/Volo/Docs/Admin/DocsAdminApplicationModule.cs +++ b/modules/docs/src/Volo.Docs.Admin.Application/Volo/Docs/Admin/DocsAdminApplicationModule.cs @@ -1,6 +1,6 @@ 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.Docs.Common; @@ -13,7 +13,7 @@ namespace Volo.Docs.Admin typeof(DocsAdminApplicationContractsModule), typeof(DocsCommonApplicationModule), typeof(AbpCachingModule), - typeof(AbpAutoMapperModule), + typeof(AbpMapperlyModule), typeof(AbpDddApplicationModule), typeof(AbpBackgroundJobsAbstractionsModule) )] @@ -21,11 +21,7 @@ namespace Volo.Docs.Admin { public override void ConfigureServices(ServiceConfigurationContext context) { - context.Services.AddAutoMapperObjectMapper(); - Configure(options => - { - options.AddProfile(validate: true); - }); + context.Services.AddMapperlyObjectMapper(); } } } diff --git a/modules/docs/src/Volo.Docs.Admin.Web/DocsAdminWebAutoMapperProfile.cs b/modules/docs/src/Volo.Docs.Admin.Web/DocsAdminWebAutoMapperProfile.cs deleted file mode 100644 index d6a1d2230a..0000000000 --- a/modules/docs/src/Volo.Docs.Admin.Web/DocsAdminWebAutoMapperProfile.cs +++ /dev/null @@ -1,30 +0,0 @@ -using AutoMapper; -using Volo.Abp.AutoMapper; -using Volo.Docs.Admin.Documents; -using Volo.Docs.Admin.Pages.Docs.Admin.Projects; -using Volo.Docs.Admin.Projects; - -namespace Volo.Docs.Admin -{ - public class DocsAdminWebAutoMapperProfile : Profile - { - public DocsAdminWebAutoMapperProfile() - { - CreateMap() - .Ignore(x => x.ExtraProperties); - - CreateMap() - .Ignore(x => x.ExtraProperties); - - CreateMap () - .Ignore(x => x.GitHubAccessToken) - .Ignore(x => x.GitHubRootUrl) - .Ignore(x => x.GitHubUserAgent) - .Ignore(x => x.GithubVersionProviderSource) - .Ignore(x => x.VersionBranchPrefix); - - CreateMap(); - CreateMap(); - } - } -} diff --git a/modules/docs/src/Volo.Docs.Admin.Web/DocsAdminWebAutoMappers.cs b/modules/docs/src/Volo.Docs.Admin.Web/DocsAdminWebAutoMappers.cs new file mode 100644 index 0000000000..87b87c021b --- /dev/null +++ b/modules/docs/src/Volo.Docs.Admin.Web/DocsAdminWebAutoMappers.cs @@ -0,0 +1,60 @@ +using Riok.Mapperly.Abstractions; +using Volo.Abp.Mapperly; +using Volo.Docs.Admin.Documents; +using Volo.Docs.Admin.Pages.Docs.Admin.Projects; +using Volo.Docs.Admin.Projects; + +namespace Volo.Docs.Admin; + +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +public partial class PullDocumentViewModelToPullAllDocumentInputMapper : MapperBase +{ + public override partial PullAllDocumentInput Map(PullModel.PullDocumentViewModel source); + + public override partial void Map(PullModel.PullDocumentViewModel source, PullAllDocumentInput destination); +} + +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +public partial class PullDocumentViewModelToPullDocumentInputMapper : MapperBase +{ + public override partial PullDocumentInput Map(PullModel.PullDocumentViewModel source); + + public override partial void Map(PullModel.PullDocumentViewModel source, PullDocumentInput destination); +} + +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +public partial class ProjectDtoToEditGithubProjectViewModelMapper : MapperBase +{ + [MapperIgnoreTarget(nameof(EditModel.EditGithubProjectViewModel.GitHubAccessToken))] + [MapperIgnoreTarget(nameof(EditModel.EditGithubProjectViewModel.GitHubRootUrl))] + [MapperIgnoreTarget(nameof(EditModel.EditGithubProjectViewModel.GitHubUserAgent))] + [MapperIgnoreTarget(nameof(EditModel.EditGithubProjectViewModel.GithubVersionProviderSource))] + [MapperIgnoreTarget(nameof(EditModel.EditGithubProjectViewModel.VersionBranchPrefix))] + public override partial EditModel.EditGithubProjectViewModel Map(ProjectDto source); + + [MapperIgnoreTarget(nameof(EditModel.EditGithubProjectViewModel.GitHubAccessToken))] + [MapperIgnoreTarget(nameof(EditModel.EditGithubProjectViewModel.GitHubRootUrl))] + [MapperIgnoreTarget(nameof(EditModel.EditGithubProjectViewModel.GitHubUserAgent))] + [MapperIgnoreTarget(nameof(EditModel.EditGithubProjectViewModel.GithubVersionProviderSource))] + [MapperIgnoreTarget(nameof(EditModel.EditGithubProjectViewModel.VersionBranchPrefix))] + public override partial void Map(ProjectDto source, EditModel.EditGithubProjectViewModel destination); +} + +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +[MapExtraProperties] +public partial class CreateGithubProjectViewModelToCreateProjectDtoMapper : MapperBase +{ + public override partial CreateProjectDto Map(CreateModel.CreateGithubProjectViewModel source); + + public override partial void Map(CreateModel.CreateGithubProjectViewModel source, CreateProjectDto destination); +} + + +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +[MapExtraProperties] +public partial class EditGithubProjectViewModelToUpdateProjectDtoMyClassMapper : MapperBase +{ + 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.Admin.Web/DocsAdminWebModule.cs b/modules/docs/src/Volo.Docs.Admin.Web/DocsAdminWebModule.cs index 3e0d548487..ead6d38375 100644 --- a/modules/docs/src/Volo.Docs.Admin.Web/DocsAdminWebModule.cs +++ b/modules/docs/src/Volo.Docs.Admin.Web/DocsAdminWebModule.cs @@ -1,7 +1,7 @@ using Microsoft.Extensions.DependencyInjection; using Volo.Abp.AspNetCore.Mvc.Localization; using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap; -using Volo.Abp.AutoMapper; +using Volo.Abp.Mapperly; using Volo.Abp.Http.ProxyScripting.Generators.JQuery; using Volo.Abp.Modularity; using Volo.Abp.UI.Navigation; @@ -32,6 +32,8 @@ namespace Volo.Docs.Admin public override void ConfigureServices(ServiceConfigurationContext context) { + context.Services.AddMapperlyObjectMapper(); + Configure(options => { options.MenuContributors.Add(new DocsMenuContributor()); @@ -42,12 +44,6 @@ namespace Volo.Docs.Admin options.FileSets.AddEmbedded(); }); - context.Services.AddAutoMapperObjectMapper(); - Configure(options => - { - options.AddProfile(validate: true); - }); - Configure(options => { options.DisableModule(DocsAdminRemoteServiceConsts.ModuleName); diff --git a/modules/docs/src/Volo.Docs.Admin.Web/Volo.Docs.Admin.Web.csproj b/modules/docs/src/Volo.Docs.Admin.Web/Volo.Docs.Admin.Web.csproj index b706561d9d..3142de4e32 100644 --- a/modules/docs/src/Volo.Docs.Admin.Web/Volo.Docs.Admin.Web.csproj +++ b/modules/docs/src/Volo.Docs.Admin.Web/Volo.Docs.Admin.Web.csproj @@ -19,7 +19,7 @@ - + diff --git a/modules/docs/src/Volo.Docs.Application/Volo.Docs.Application.abppkg.analyze.json b/modules/docs/src/Volo.Docs.Application/Volo.Docs.Application.abppkg.analyze.json index b6e792225a..3eb0baf95f 100644 --- a/modules/docs/src/Volo.Docs.Application/Volo.Docs.Application.abppkg.analyze.json +++ b/modules/docs/src/Volo.Docs.Application/Volo.Docs.Application.abppkg.analyze.json @@ -21,9 +21,9 @@ "name": "AbpCachingModule" }, { - "declaringAssemblyName": "Volo.Abp.AutoMapper", - "namespace": "Volo.Abp.AutoMapper", - "name": "AbpAutoMapperModule" + "declaringAssemblyName": "Volo.Abp.Mapperly", + "namespace": "Volo.Abp.Mapperly", + "name": "AbpMapperlyModule" }, { "declaringAssemblyName": "Volo.Docs.Common.Application", diff --git a/modules/docs/src/Volo.Docs.Application/Volo.Docs.Application.csproj b/modules/docs/src/Volo.Docs.Application/Volo.Docs.Application.csproj index b7530d7fe8..ade9347ac4 100644 --- a/modules/docs/src/Volo.Docs.Application/Volo.Docs.Application.csproj +++ b/modules/docs/src/Volo.Docs.Application/Volo.Docs.Application.csproj @@ -14,7 +14,7 @@ - + diff --git a/modules/docs/src/Volo.Docs.Application/Volo/Docs/DocsApplicationAutoMapperProfile.cs b/modules/docs/src/Volo.Docs.Application/Volo/Docs/DocsApplicationAutoMapperProfile.cs deleted file mode 100644 index f2cb5476f7..0000000000 --- a/modules/docs/src/Volo.Docs.Application/Volo/Docs/DocsApplicationAutoMapperProfile.cs +++ /dev/null @@ -1,20 +0,0 @@ -using AutoMapper; -using Volo.Docs.Documents; -using Volo.Abp.AutoMapper; -using Volo.Docs.Common.Projects; -using Volo.Docs.Projects; - -namespace Volo.Docs -{ - public class DocsApplicationAutoMapperProfile : Profile - { - public DocsApplicationAutoMapperProfile() - { - CreateMap(); - CreateMap(); - CreateMap().Ignore(x => x.Project).Ignore(x => x.Contributors); - CreateMap(); - CreateMap(); - } - } -} diff --git a/modules/docs/src/Volo.Docs.Application/Volo/Docs/DocsApplicationMappers.cs b/modules/docs/src/Volo.Docs.Application/Volo/Docs/DocsApplicationMappers.cs new file mode 100644 index 0000000000..bd8474b7b9 --- /dev/null +++ b/modules/docs/src/Volo.Docs.Application/Volo/Docs/DocsApplicationMappers.cs @@ -0,0 +1,51 @@ +using Riok.Mapperly.Abstractions; +using Volo.Docs.Documents; +using Volo.Abp.Mapperly; +using Volo.Docs.Common.Projects; +using Volo.Docs.Projects; + +namespace Volo.Docs; + +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +public partial class DocumentResourceToDocumentResourceDtoMapper : MapperBase +{ + public override partial DocumentResourceDto Map(DocumentResource source); + + public override partial void Map(DocumentResource source, DocumentResourceDto destination); +} + +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +public partial class DocumentContributorToDocumentContributorDtoMapper : MapperBase +{ + public override partial DocumentContributorDto Map(DocumentContributor source); + + public override partial void Map(DocumentContributor source, DocumentContributorDto destination); +} + +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +public partial class VersionInfoToVersionInfoDtoMapper : MapperBase +{ + public override partial VersionInfoDto Map(VersionInfo source); + + public override partial void Map(VersionInfo source, VersionInfoDto destination); +} + +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +public partial class ProjectToProjectDtoMapper : MapperBase +{ + public override partial ProjectDto Map(Project source); + + public override partial void Map(Project source, ProjectDto destination); +} + +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +public partial class DocumentToDocumentWithDetailsDtoMapper : MapperBase +{ + [MapperIgnoreTarget(nameof(DocumentWithDetailsDto.Project))] + [MapperIgnoreTarget(nameof(DocumentWithDetailsDto.Contributors))] + public override partial DocumentWithDetailsDto Map(Document source); + + [MapperIgnoreTarget(nameof(DocumentWithDetailsDto.Project))] + [MapperIgnoreTarget(nameof(DocumentWithDetailsDto.Contributors))] + public override partial void Map(Document source, DocumentWithDetailsDto destination); +} \ No newline at end of file diff --git a/modules/docs/src/Volo.Docs.Application/Volo/Docs/DocsApplicationModule.cs b/modules/docs/src/Volo.Docs.Application/Volo/Docs/DocsApplicationModule.cs index f6d60099ad..e30577f8f6 100644 --- a/modules/docs/src/Volo.Docs.Application/Volo/Docs/DocsApplicationModule.cs +++ b/modules/docs/src/Volo.Docs.Application/Volo/Docs/DocsApplicationModule.cs @@ -1,7 +1,7 @@ using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection.Extensions; using Volo.Abp.Application; -using Volo.Abp.AutoMapper; +using Volo.Abp.Mapperly; using Volo.Abp.Caching; using Volo.Abp.Modularity; using Volo.Docs.Common; @@ -13,7 +13,7 @@ namespace Volo.Docs typeof(DocsDomainModule), typeof(DocsApplicationContractsModule), typeof(AbpCachingModule), - typeof(AbpAutoMapperModule), + typeof(AbpMapperlyModule), typeof(DocsCommonApplicationModule), typeof(AbpDddApplicationModule) )] @@ -21,12 +21,7 @@ namespace Volo.Docs { public override void ConfigureServices(ServiceConfigurationContext context) { - context.Services.AddAutoMapperObjectMapper(); - - Configure(options => - { - options.AddProfile(validate: true); - }); + context.Services.AddMapperlyObjectMapper(); context.Services.TryAddSingleton(NullNavigationTreePostProcessor.Instance); } diff --git a/modules/docs/src/Volo.Docs.Common.Application/Volo.Docs.Common.Application.abppkg.analyze.json b/modules/docs/src/Volo.Docs.Common.Application/Volo.Docs.Common.Application.abppkg.analyze.json index 0b3f9b4bf2..090a9292d0 100644 --- a/modules/docs/src/Volo.Docs.Common.Application/Volo.Docs.Common.Application.abppkg.analyze.json +++ b/modules/docs/src/Volo.Docs.Common.Application/Volo.Docs.Common.Application.abppkg.analyze.json @@ -16,9 +16,9 @@ "name": "DocsCommonApplicationContractsModule" }, { - "declaringAssemblyName": "Volo.Abp.AutoMapper", - "namespace": "Volo.Abp.AutoMapper", - "name": "AbpAutoMapperModule" + "declaringAssemblyName": "Volo.Abp.Mapperly", + "namespace": "Volo.Abp.Mapperly", + "name": "AbpMapperlyModule" }, { "declaringAssemblyName": "Volo.Abp.Ddd.Application", diff --git a/modules/docs/src/Volo.Docs.Common.Application/Volo.Docs.Common.Application.csproj b/modules/docs/src/Volo.Docs.Common.Application/Volo.Docs.Common.Application.csproj index 545995b902..0e1570ddea 100644 --- a/modules/docs/src/Volo.Docs.Common.Application/Volo.Docs.Common.Application.csproj +++ b/modules/docs/src/Volo.Docs.Common.Application/Volo.Docs.Common.Application.csproj @@ -13,7 +13,7 @@ - + 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/DocsCommonApplicationAutoMapperProfile.cs deleted file mode 100644 index 8175654743..0000000000 --- a/modules/docs/src/Volo.Docs.Common.Application/Volo/Docs/Common/DocsCommonApplicationAutoMapperProfile.cs +++ /dev/null @@ -1,15 +0,0 @@ -using AutoMapper; -using Volo.Docs.Common.Projects; -using Volo.Docs.Projects; - -namespace Volo.Docs.Common -{ - public class DocsCommonApplicationAutoMapperProfile : Profile - { - public DocsCommonApplicationAutoMapperProfile() - { - CreateMap(); - CreateMap(); - } - } -} diff --git a/modules/docs/src/Volo.Docs.Common.Application/Volo/Docs/Common/DocsCommonApplicationMappers.cs b/modules/docs/src/Volo.Docs.Common.Application/Volo/Docs/Common/DocsCommonApplicationMappers.cs new file mode 100644 index 0000000000..9c0874ecdd --- /dev/null +++ b/modules/docs/src/Volo.Docs.Common.Application/Volo/Docs/Common/DocsCommonApplicationMappers.cs @@ -0,0 +1,22 @@ +using Riok.Mapperly.Abstractions; +using Volo.Abp.Mapperly; +using Volo.Docs.Common.Projects; +using Volo.Docs.Projects; + +namespace Volo.Docs.Common; + +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +public partial class ProjectToProjectDtoMapper : MapperBase +{ + public override partial ProjectDto Map(Project source); + + public override partial void Map(Project source, ProjectDto destination); +} + +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +public partial class VersionInfoToVersionInfoDtoMapper : MapperBase +{ + public override partial VersionInfoDto Map(VersionInfo source); + + public override partial void Map(VersionInfo source, VersionInfoDto destination); +} 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 b7eb350930..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 @@ -1,6 +1,6 @@ using Microsoft.Extensions.DependencyInjection; using Volo.Abp.Application; -using Volo.Abp.AutoMapper; +using Volo.Abp.Mapperly; using Volo.Abp.Modularity; namespace Volo.Docs.Common; @@ -8,18 +8,13 @@ namespace Volo.Docs.Common; [DependsOn( typeof(DocsDomainModule), typeof(DocsCommonApplicationContractsModule), - typeof(AbpAutoMapperModule), + typeof(AbpMapperlyModule), typeof(AbpDddApplicationModule) )] public class DocsCommonApplicationModule : AbpModule { public override void ConfigureServices(ServiceConfigurationContext context) { - context.Services.AddAutoMapperObjectMapper(); - - Configure(options => - { - options.AddProfile(validate: true); - }); + context.Services.AddMapperlyObjectMapper(); } } \ No newline at end of file diff --git a/modules/docs/src/Volo.Docs.Domain/Volo.Docs.Domain.abppkg.analyze.json b/modules/docs/src/Volo.Docs.Domain/Volo.Docs.Domain.abppkg.analyze.json index c5c46bc5d7..8dba6531a8 100644 --- a/modules/docs/src/Volo.Docs.Domain/Volo.Docs.Domain.abppkg.analyze.json +++ b/modules/docs/src/Volo.Docs.Domain/Volo.Docs.Domain.abppkg.analyze.json @@ -16,9 +16,9 @@ "name": "AbpDddDomainModule" }, { - "declaringAssemblyName": "Volo.Abp.AutoMapper", - "namespace": "Volo.Abp.AutoMapper", - "name": "AbpAutoMapperModule" + "declaringAssemblyName": "Volo.Abp.Mapperly", + "namespace": "Volo.Abp.Mapperly", + "name": "AbpMapperlyModule" }, { "declaringAssemblyName": "Volo.Abp.BlobStoring", diff --git a/modules/docs/src/Volo.Docs.Domain/Volo.Docs.Domain.csproj b/modules/docs/src/Volo.Docs.Domain/Volo.Docs.Domain.csproj index e57312e16b..25c6b9bb83 100644 --- a/modules/docs/src/Volo.Docs.Domain/Volo.Docs.Domain.csproj +++ b/modules/docs/src/Volo.Docs.Domain/Volo.Docs.Domain.csproj @@ -31,7 +31,7 @@ - + diff --git a/modules/docs/src/Volo.Docs.Domain/Volo/Docs/DocsDomainMappingProfile.cs b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/DocsDomainMappingProfile.cs index 74f7224ea6..757d8d7195 100644 --- a/modules/docs/src/Volo.Docs.Domain/Volo/Docs/DocsDomainMappingProfile.cs +++ b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/DocsDomainMappingProfile.cs @@ -1,15 +1,22 @@ -using AutoMapper; +using Riok.Mapperly.Abstractions; +using Volo.Abp.Mapperly; using Volo.Docs.Documents; using Volo.Docs.Projects; -namespace Volo.Docs +namespace Volo.Docs; + +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +public partial class ProjectToProjectEtoMapper : MapperBase { - public class DocsDomainMappingProfile : Profile - { - public DocsDomainMappingProfile() - { - CreateMap(); - CreateMap(); - } - } + public override partial ProjectEto Map(Project source); + + public override partial void Map(Project source, ProjectEto destination); +} + +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +public partial class DocumentToDocumentEtoMapper : MapperBase +{ + public override partial DocumentEto Map(Document source); + + public override partial void Map(Document source, DocumentEto destination); } \ 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 502b2f9065..414ed4b36f 100644 --- a/modules/docs/src/Volo.Docs.Domain/Volo/Docs/DocsDomainModule.cs +++ b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/DocsDomainModule.cs @@ -3,7 +3,7 @@ using System.Threading.Tasks; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Options; using Volo.Abp; -using Volo.Abp.AutoMapper; +using Volo.Abp.Mapperly; using Volo.Abp.BlobStoring; using Volo.Abp.Caching; using Volo.Abp.Domain; @@ -27,7 +27,7 @@ namespace Volo.Docs [DependsOn( typeof(DocsDomainSharedModule), typeof(AbpDddDomainModule), - typeof(AbpAutoMapperModule), + typeof(AbpMapperlyModule), typeof(AbpBlobStoringModule), typeof(AbpCachingModule) )] @@ -35,13 +35,8 @@ namespace Volo.Docs { public override void ConfigureServices(ServiceConfigurationContext context) { - context.Services.AddAutoMapperObjectMapper(); - - Configure(options => - { - options.AddProfile(validate: true); - }); - + context.Services.AddMapperlyObjectMapper(); + Configure(options => { options.EtoMappings.Add(typeof(DocsDomainModule)); diff --git a/modules/docs/src/Volo.Docs.Web/DocsWebAutoMapperProfile.cs b/modules/docs/src/Volo.Docs.Web/DocsWebAutoMapperProfile.cs deleted file mode 100644 index e0a383e691..0000000000 --- a/modules/docs/src/Volo.Docs.Web/DocsWebAutoMapperProfile.cs +++ /dev/null @@ -1,11 +0,0 @@ -using AutoMapper; - -namespace Volo.Docs -{ - public class DocsWebAutoMapperProfile : Profile - { - public DocsWebAutoMapperProfile() - { - } - } -} diff --git a/modules/docs/src/Volo.Docs.Web/DocsWebModule.cs b/modules/docs/src/Volo.Docs.Web/DocsWebModule.cs index dc9993dea6..6839196d0b 100644 --- a/modules/docs/src/Volo.Docs.Web/DocsWebModule.cs +++ b/modules/docs/src/Volo.Docs.Web/DocsWebModule.cs @@ -1,4 +1,3 @@ -using System; using Microsoft.AspNetCore.Mvc.RazorPages; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Options; @@ -9,7 +8,7 @@ using Volo.Abp.Ui.LayoutHooks; using Volo.Abp.AspNetCore.Mvc.UI.Packages; using Volo.Abp.AspNetCore.Mvc.UI.Packages.Prismjs; 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; @@ -23,7 +22,7 @@ namespace Volo.Docs { [DependsOn( typeof(DocsApplicationContractsModule), - typeof(AbpAutoMapperModule), + typeof(AbpMapperlyModule), typeof(AbpAspNetCoreMvcUiBootstrapModule), typeof(AbpAspNetCoreMvcUiThemeSharedModule), typeof(AbpAspNetCoreMvcUiPackagesModule), @@ -46,6 +45,8 @@ namespace Volo.Docs public override void ConfigureServices(ServiceConfigurationContext context) { + context.Services.AddMapperlyObjectMapper(); + Configure(options => { options.FileSets.AddEmbedded(); @@ -88,12 +89,6 @@ namespace Volo.Docs } }); - context.Services.AddAutoMapperObjectMapper(); - Configure(options => - { - options.AddProfile(validate: true); - }); - Configure(options => { options.Converters[MarkdownDocumentToHtmlConverter.Type] = typeof(MarkdownDocumentToHtmlConverter); diff --git a/modules/docs/src/Volo.Docs.Web/Volo.Docs.Web.abppkg.analyze.json b/modules/docs/src/Volo.Docs.Web/Volo.Docs.Web.abppkg.analyze.json index 754357e581..9abe50dda3 100644 --- a/modules/docs/src/Volo.Docs.Web/Volo.Docs.Web.abppkg.analyze.json +++ b/modules/docs/src/Volo.Docs.Web/Volo.Docs.Web.abppkg.analyze.json @@ -11,9 +11,9 @@ "name": "DocsApplicationContractsModule" }, { - "declaringAssemblyName": "Volo.Abp.AutoMapper", - "namespace": "Volo.Abp.AutoMapper", - "name": "AbpAutoMapperModule" + "declaringAssemblyName": "Volo.Abp.Mapperly", + "namespace": "Volo.Abp.Mapperly", + "name": "AbpMapperlyModule" }, { "declaringAssemblyName": "Volo.Abp.AspNetCore.Mvc.UI.Bootstrap", diff --git a/modules/docs/src/Volo.Docs.Web/Volo.Docs.Web.csproj b/modules/docs/src/Volo.Docs.Web/Volo.Docs.Web.csproj index 2c36600107..353f15811c 100644 --- a/modules/docs/src/Volo.Docs.Web/Volo.Docs.Web.csproj +++ b/modules/docs/src/Volo.Docs.Web/Volo.Docs.Web.csproj @@ -15,7 +15,7 @@ - + diff --git a/modules/identity/src/Volo.Abp.Identity.Application/Volo/Abp/Identity/AbpIdentityApplicationMappers.cs b/modules/identity/src/Volo.Abp.Identity.Application/Volo/Abp/Identity/AbpIdentityApplicationMappers.cs index 164da27aae..18645cf013 100644 --- a/modules/identity/src/Volo.Abp.Identity.Application/Volo/Abp/Identity/AbpIdentityApplicationMappers.cs +++ b/modules/identity/src/Volo.Abp.Identity.Application/Volo/Abp/Identity/AbpIdentityApplicationMappers.cs @@ -2,7 +2,7 @@ using Volo.Abp.Identity; using Volo.Abp.Mapperly; -[Mapper] +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] [MapExtraProperties] public partial class IdentityUserToIdentityUserDtoMapper : MapperBase { @@ -10,7 +10,7 @@ public partial class IdentityUserToIdentityUserDtoMapper : MapperBase { diff --git a/modules/identity/src/Volo.Abp.Identity.Blazor/AbpIdentityBlazorMappers.cs b/modules/identity/src/Volo.Abp.Identity.Blazor/AbpIdentityBlazorMappers.cs index 614ca6ae32..8272d99098 100644 --- a/modules/identity/src/Volo.Abp.Identity.Blazor/AbpIdentityBlazorMappers.cs +++ b/modules/identity/src/Volo.Abp.Identity.Blazor/AbpIdentityBlazorMappers.cs @@ -3,7 +3,7 @@ using Volo.Abp.Mapperly; namespace Volo.Abp.Identity.Blazor; -[Mapper] +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] [MapExtraProperties] public partial class IdentityUserDtoToIdentityUserUpdateDtoMapper : MapperBase { @@ -16,7 +16,7 @@ public partial class IdentityUserDtoToIdentityUserUpdateDtoMapper : MapperBase { diff --git a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityDomainMappers.cs b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityDomainMappers.cs index f7d41c9891..8986ddcd3a 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityDomainMappers.cs +++ b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityDomainMappers.cs @@ -4,28 +4,28 @@ using Volo.Abp.Users; namespace Volo.Abp.Identity; -[Mapper] +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] public partial class IdentityUserToUserEtoMapper : MapperBase { public override partial UserEto Map(IdentityUser source); public override partial void Map(IdentityUser source, UserEto destination); } -[Mapper] +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] public partial class IdentityClaimTypeToIdentityClaimTypeEtoMapper : MapperBase { public override partial IdentityClaimTypeEto Map(IdentityClaimType source); public override partial void Map(IdentityClaimType source, IdentityClaimTypeEto destination); } -[Mapper] +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] public partial class IdentityRoleToIdentityRoleEtoMapper : MapperBase { public override partial IdentityRoleEto Map(IdentityRole source); public override partial void Map(IdentityRole source, IdentityRoleEto destination); } -[Mapper] +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] public partial class OrganizationUnitToOrganizationUnitEtoMapper : MapperBase { public override partial OrganizationUnitEto Map(OrganizationUnit source); diff --git a/modules/identity/src/Volo.Abp.Identity.Web/AbpIdentityWebMappers.cs b/modules/identity/src/Volo.Abp.Identity.Web/AbpIdentityWebMappers.cs index 1877dac1d8..d992c6e9b3 100644 --- a/modules/identity/src/Volo.Abp.Identity.Web/AbpIdentityWebMappers.cs +++ b/modules/identity/src/Volo.Abp.Identity.Web/AbpIdentityWebMappers.cs @@ -6,7 +6,7 @@ using EditUserModalModel = Volo.Abp.Identity.Web.Pages.Identity.Users.EditModalM namespace Volo.Abp.Identity.Web; -[Mapper] +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] public partial class IdentityUserDtoToEditUserModalModelUserInfoViewModelMapper : MapperBase { [MapperIgnoreTarget(nameof(EditUserModalModel.UserInfoViewModel.Password))] @@ -16,7 +16,7 @@ public partial class IdentityUserDtoToEditUserModalModelUserInfoViewModelMapper public override partial void Map(IdentityUserDto source, EditUserModalModel.UserInfoViewModel destination); } -[Mapper] +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] [MapExtraProperties] public partial class CreateUserModalModelUserInfoViewModelToIdentityUserCreateDtoMapper : MapperBase { @@ -27,7 +27,7 @@ public partial class CreateUserModalModelUserInfoViewModelToIdentityUserCreateDt public override partial void Map(CreateUserModalModel.UserInfoViewModel source, IdentityUserCreateDto destination); } -[Mapper] +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] [MapExtraProperties] public partial class IdentityRoleDtoToCreateUserModalModelAssignedRoleViewModelMapper : MapperBase { @@ -38,7 +38,7 @@ public partial class IdentityRoleDtoToCreateUserModalModelAssignedRoleViewModelM public override partial void Map(IdentityRoleDto source, CreateUserModalModel.AssignedRoleViewModel destination); } -[Mapper] +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] public partial class EditUserModalModelUserInfoViewModelToIdentityUserUpdateDtoMapper : MapperBase { [MapperIgnoreTarget(nameof(IdentityUserUpdateDto.RoleNames))] @@ -48,7 +48,7 @@ public partial class EditUserModalModelUserInfoViewModelToIdentityUserUpdateDtoM public override partial void Map(EditUserModalModel.UserInfoViewModel source, IdentityUserUpdateDto destination); } -[Mapper] +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] public partial class IdentityRoleDtoToEditUserModalModelAssignedRoleViewModelMapper : MapperBase { [MapperIgnoreTarget(nameof(EditUserModalModel.AssignedRoleViewModel.IsAssigned))] @@ -58,7 +58,7 @@ public partial class IdentityRoleDtoToEditUserModalModelAssignedRoleViewModelMap public override partial void Map(IdentityRoleDto source, EditUserModalModel.AssignedRoleViewModel destination); } -[Mapper] +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] public partial class IdentityUserDtoToEditUserModalModelDetailViewModelMapper : MapperBase { [MapperIgnoreTarget(nameof(EditUserModalModel.DetailViewModel.CreatedBy))] @@ -70,14 +70,14 @@ public partial class IdentityUserDtoToEditUserModalModelDetailViewModelMapper : public override partial void Map(IdentityUserDto source, EditUserModalModel.DetailViewModel destination); } -[Mapper] +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] public partial class IdentityRoleDtoToEditModalModelRoleInfoModelMapper : MapperBase { public override partial EditModalModel.RoleInfoModel Map(IdentityRoleDto source); public override partial void Map(IdentityRoleDto source, EditModalModel.RoleInfoModel destination); } -[Mapper] +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] [MapExtraProperties] public partial class CreateModalModelRoleInfoModelToIdentityRoleCreateDtoMapper : MapperBase { @@ -85,7 +85,7 @@ public partial class CreateModalModelRoleInfoModelToIdentityRoleCreateDtoMapper public override partial void Map(CreateModalModel.RoleInfoModel source, IdentityRoleCreateDto destination); } -[Mapper] +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] [MapExtraProperties] public partial class EditModalModelRoleInfoModelToIdentityRoleUpdateDtoMapper : MapperBase { diff --git a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain/Volo/Abp/IdentityServer/IdentityServerMapperlyMappers.cs b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain/Volo/Abp/IdentityServer/IdentityServerMapperlyMappers.cs index dbeee6d7f1..004583a0bb 100644 --- a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain/Volo/Abp/IdentityServer/IdentityServerMapperlyMappers.cs +++ b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain/Volo/Abp/IdentityServer/IdentityServerMapperlyMappers.cs @@ -12,7 +12,7 @@ using Volo.Abp.IdentityServer.IdentityResources; namespace Volo.Abp.IdentityServer; -[Mapper] +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] public partial class ClientToISClientMapper : MapperBase { [MapperIgnoreTarget(nameof(IdentityServer4.Models.Client.AllowedIdentityTokenSigningAlgorithms))] @@ -81,7 +81,7 @@ public partial class ClientToISClientMapper : MapperBase { [MapperIgnoreTarget(nameof(IdentityServer4.Models.ApiResource.AllowedAccessTokenSigningAlgorithms))] @@ -120,7 +120,7 @@ public partial class ApiResourceToISApiResourceMapper : MapperBase { [MapperIgnoreTarget(nameof(IdentityServer4.Models.ApiScope.UserClaims))] @@ -144,7 +144,7 @@ public partial class ApiScopeToISApiScopeMapper : MapperBase { [MapperIgnoreTarget(nameof(IdentityServer4.Models.IdentityResource.UserClaims))] @@ -168,21 +168,21 @@ public partial class IdentityResourceToISIdentityResourceMapper : MapperBase { public override partial ClientEto Map(Client source); public override partial void Map(Client source, ClientEto destination); } -[Mapper] +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] public partial class IdentityResourceToIdentityResourceEtoMapper : MapperBase { public override partial IdentityResourceEto Map(IdentityResource source); public override partial void Map(IdentityResource source, IdentityResourceEto destination); } -[Mapper] +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] public partial class PersistedGrantToISPersistedGrantMapper : TwoWayMapperBase { public override partial IdentityServer4.Models.PersistedGrant Map(PersistedGrant source); @@ -221,14 +221,14 @@ public partial class PersistedGrantToISPersistedGrantMapper : TwoWayMapperBase

{ public override partial PersistedGrantEto Map(PersistedGrant source); public override partial void Map(PersistedGrant source, PersistedGrantEto destination); } -[Mapper] +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] public partial class DeviceFlowCodesToDeviceFlowCodesEtoMapper : MapperBase { public override partial DeviceFlowCodesEto Map(DeviceFlowCodes source); diff --git a/modules/permission-management/src/Volo.Abp.PermissionManagement.Web/AbpPermissionManagementWebMappers.cs b/modules/permission-management/src/Volo.Abp.PermissionManagement.Web/AbpPermissionManagementWebMappers.cs index 950a3972f0..70e738d243 100644 --- a/modules/permission-management/src/Volo.Abp.PermissionManagement.Web/AbpPermissionManagementWebMappers.cs +++ b/modules/permission-management/src/Volo.Abp.PermissionManagement.Web/AbpPermissionManagementWebMappers.cs @@ -4,7 +4,7 @@ using static Volo.Abp.PermissionManagement.Web.Pages.AbpPermissionManagement.Per namespace Volo.Abp.PermissionManagement.Web; -[Mapper] +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] public partial class PermissionGroupDtoToPermissionGroupViewModelMapper : MapperBase { [MapperIgnoreTarget(nameof(PermissionGroupViewModel.IsAllPermissionsGranted))] @@ -14,7 +14,7 @@ public partial class PermissionGroupDtoToPermissionGroupViewModelMapper : Mapper public override partial void Map(PermissionGroupDto source, PermissionGroupViewModel destination); } -[Mapper] +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] public partial class PermissionGrantInfoDtoToPermissionGrantInfoViewModelMapper : MapperBase { [MapperIgnoreTarget(nameof(PermissionGrantInfoViewModel.Depth))] @@ -24,7 +24,7 @@ public partial class PermissionGrantInfoDtoToPermissionGrantInfoViewModelMapper public override partial void Map(PermissionGrantInfoDto source, PermissionGrantInfoViewModel destination); } -[Mapper] +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] public partial class ProviderInfoDtoToProviderInfoViewModelMapper : MapperBase { public override partial ProviderInfoViewModel Map(ProviderInfoDto source);