diff --git a/modules/identity/src/Volo.Abp.Identity.Application/Volo.Abp.Identity.Application.csproj b/modules/identity/src/Volo.Abp.Identity.Application/Volo.Abp.Identity.Application.csproj
index 0b3693b5d1..7125af8060 100644
--- a/modules/identity/src/Volo.Abp.Identity.Application/Volo.Abp.Identity.Application.csproj
+++ b/modules/identity/src/Volo.Abp.Identity.Application/Volo.Abp.Identity.Application.csproj
@@ -18,7 +18,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
new file mode 100644
index 0000000000..164da27aae
--- /dev/null
+++ b/modules/identity/src/Volo.Abp.Identity.Application/Volo/Abp/Identity/AbpIdentityApplicationMappers.cs
@@ -0,0 +1,19 @@
+using Riok.Mapperly.Abstractions;
+using Volo.Abp.Identity;
+using Volo.Abp.Mapperly;
+
+[Mapper]
+[MapExtraProperties]
+public partial class IdentityUserToIdentityUserDtoMapper : MapperBase
+{
+ public override partial IdentityUserDto Map(IdentityUser source);
+ public override partial void Map(IdentityUser source, IdentityUserDto destination);
+}
+
+[Mapper]
+[MapExtraProperties]
+public partial class IdentityRoleToIdentityRoleDtoMapper : MapperBase
+{
+ public override partial IdentityRoleDto Map(IdentityRole source);
+ public override partial void Map(IdentityRole source, IdentityRoleDto destination);
+}
diff --git a/modules/identity/src/Volo.Abp.Identity.Application/Volo/Abp/Identity/AbpIdentityApplicationModule.cs b/modules/identity/src/Volo.Abp.Identity.Application/Volo/Abp/Identity/AbpIdentityApplicationModule.cs
index 673a0605c7..07865ab8f5 100644
--- a/modules/identity/src/Volo.Abp.Identity.Application/Volo/Abp/Identity/AbpIdentityApplicationModule.cs
+++ b/modules/identity/src/Volo.Abp.Identity.Application/Volo/Abp/Identity/AbpIdentityApplicationModule.cs
@@ -1,5 +1,5 @@
using Microsoft.Extensions.DependencyInjection;
-using Volo.Abp.AutoMapper;
+using Volo.Abp.Mapperly;
using Volo.Abp.Modularity;
using Volo.Abp.PermissionManagement;
@@ -8,18 +8,13 @@ namespace Volo.Abp.Identity;
[DependsOn(
typeof(AbpIdentityDomainModule),
typeof(AbpIdentityApplicationContractsModule),
- typeof(AbpAutoMapperModule),
+ typeof(AbpMapperlyModule),
typeof(AbpPermissionManagementApplicationModule)
)]
public class AbpIdentityApplicationModule : AbpModule
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
- context.Services.AddAutoMapperObjectMapper();
-
- Configure(options =>
- {
- options.AddProfile(validate: true);
- });
+ context.Services.AddMapperlyObjectMapper();
}
}
diff --git a/modules/identity/src/Volo.Abp.Identity.Application/Volo/Abp/Identity/AbpIdentityApplicationModuleAutoMapperProfile.cs b/modules/identity/src/Volo.Abp.Identity.Application/Volo/Abp/Identity/AbpIdentityApplicationModuleAutoMapperProfile.cs
deleted file mode 100644
index a546a9bca1..0000000000
--- a/modules/identity/src/Volo.Abp.Identity.Application/Volo/Abp/Identity/AbpIdentityApplicationModuleAutoMapperProfile.cs
+++ /dev/null
@@ -1,15 +0,0 @@
-using AutoMapper;
-
-namespace Volo.Abp.Identity;
-
-public class AbpIdentityApplicationModuleAutoMapperProfile : Profile
-{
- public AbpIdentityApplicationModuleAutoMapperProfile()
- {
- CreateMap()
- .MapExtraProperties();
-
- CreateMap()
- .MapExtraProperties();
- }
-}
diff --git a/modules/identity/src/Volo.Abp.Identity.Blazor/AbpIdentityBlazorAutoMapperProfile.cs b/modules/identity/src/Volo.Abp.Identity.Blazor/AbpIdentityBlazorAutoMapperProfile.cs
deleted file mode 100644
index 52a450785e..0000000000
--- a/modules/identity/src/Volo.Abp.Identity.Blazor/AbpIdentityBlazorAutoMapperProfile.cs
+++ /dev/null
@@ -1,18 +0,0 @@
-using AutoMapper;
-using Volo.Abp.AutoMapper;
-
-namespace Volo.Abp.Identity.Blazor;
-
-public class AbpIdentityBlazorAutoMapperProfile : Profile
-{
- public AbpIdentityBlazorAutoMapperProfile()
- {
- CreateMap()
- .MapExtraProperties()
- .Ignore(x => x.Password)
- .Ignore(x => x.RoleNames);
-
- CreateMap()
- .MapExtraProperties();
- }
-}
diff --git a/modules/identity/src/Volo.Abp.Identity.Blazor/AbpIdentityBlazorMappers.cs b/modules/identity/src/Volo.Abp.Identity.Blazor/AbpIdentityBlazorMappers.cs
new file mode 100644
index 0000000000..614ca6ae32
--- /dev/null
+++ b/modules/identity/src/Volo.Abp.Identity.Blazor/AbpIdentityBlazorMappers.cs
@@ -0,0 +1,25 @@
+using Riok.Mapperly.Abstractions;
+using Volo.Abp.Mapperly;
+
+namespace Volo.Abp.Identity.Blazor;
+
+[Mapper]
+[MapExtraProperties]
+public partial class IdentityUserDtoToIdentityUserUpdateDtoMapper : MapperBase
+{
+ [MapperIgnoreTarget(nameof(IdentityUserUpdateDto.Password))]
+ [MapperIgnoreTarget(nameof(IdentityUserUpdateDto.RoleNames))]
+ public override partial IdentityUserUpdateDto Map(IdentityUserDto source);
+
+ [MapperIgnoreTarget(nameof(IdentityUserUpdateDto.Password))]
+ [MapperIgnoreTarget(nameof(IdentityUserUpdateDto.RoleNames))]
+ public override partial void Map(IdentityUserDto source, IdentityUserUpdateDto destination);
+}
+
+[Mapper]
+[MapExtraProperties]
+public partial class IdentityRoleDtoToIdentityRoleUpdateDtoMapper : MapperBase
+{
+ public override partial IdentityRoleUpdateDto Map(IdentityRoleDto source);
+ public override partial void Map(IdentityRoleDto source, IdentityRoleUpdateDto destination);
+}
diff --git a/modules/identity/src/Volo.Abp.Identity.Blazor/AbpIdentityBlazorModule.cs b/modules/identity/src/Volo.Abp.Identity.Blazor/AbpIdentityBlazorModule.cs
index 3367b42a1b..89aba05f89 100644
--- a/modules/identity/src/Volo.Abp.Identity.Blazor/AbpIdentityBlazorModule.cs
+++ b/modules/identity/src/Volo.Abp.Identity.Blazor/AbpIdentityBlazorModule.cs
@@ -1,7 +1,7 @@
using Localization.Resources.AbpUi;
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.AspNetCore.Components.Web.Theming.Routing;
-using Volo.Abp.AutoMapper;
+using Volo.Abp.Mapperly;
using Volo.Abp.BlazoriseUI;
using Volo.Abp.Identity.Localization;
using Volo.Abp.Localization;
@@ -16,7 +16,7 @@ namespace Volo.Abp.Identity.Blazor;
[DependsOn(
typeof(AbpIdentityApplicationContractsModule),
- typeof(AbpAutoMapperModule),
+ typeof(AbpMapperlyModule),
typeof(AbpPermissionManagementBlazorModule),
typeof(AbpBlazoriseUIModule)
)]
@@ -26,12 +26,7 @@ public class AbpIdentityBlazorModule : AbpModule
public override void ConfigureServices(ServiceConfigurationContext context)
{
- context.Services.AddAutoMapperObjectMapper();
-
- Configure(options =>
- {
- options.AddProfile(validate: true);
- });
+ context.Services.AddMapperlyObjectMapper();
Configure(options =>
{
@@ -42,7 +37,7 @@ public class AbpIdentityBlazorModule : AbpModule
{
options.AdditionalAssemblies.Add(typeof(AbpIdentityBlazorModule).Assembly);
});
-
+
Configure(options =>
{
options.Resources
diff --git a/modules/identity/src/Volo.Abp.Identity.Blazor/Volo.Abp.Identity.Blazor.csproj b/modules/identity/src/Volo.Abp.Identity.Blazor/Volo.Abp.Identity.Blazor.csproj
index 355cb4294a..777fb1c31e 100644
--- a/modules/identity/src/Volo.Abp.Identity.Blazor/Volo.Abp.Identity.Blazor.csproj
+++ b/modules/identity/src/Volo.Abp.Identity.Blazor/Volo.Abp.Identity.Blazor.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/modules/identity/src/Volo.Abp.Identity.Domain/Volo.Abp.Identity.Domain.csproj b/modules/identity/src/Volo.Abp.Identity.Domain/Volo.Abp.Identity.Domain.csproj
index fadd6e4109..a1bde79665 100644
--- a/modules/identity/src/Volo.Abp.Identity.Domain/Volo.Abp.Identity.Domain.csproj
+++ b/modules/identity/src/Volo.Abp.Identity.Domain/Volo.Abp.Identity.Domain.csproj
@@ -23,7 +23,7 @@
-
+
diff --git a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/AbpIdentityDomainModule.cs b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/AbpIdentityDomainModule.cs
index baf0871c58..590beb8e09 100644
--- a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/AbpIdentityDomainModule.cs
+++ b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/AbpIdentityDomainModule.cs
@@ -3,7 +3,7 @@ using Microsoft.AspNetCore.Identity;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.DependencyInjection.Extensions;
using Microsoft.Extensions.Options;
-using Volo.Abp.AutoMapper;
+using Volo.Abp.Mapperly;
using Volo.Abp.Domain;
using Volo.Abp.Domain.Entities.Events.Distributed;
using Volo.Abp.Modularity;
@@ -19,7 +19,7 @@ namespace Volo.Abp.Identity;
typeof(AbpDddDomainModule),
typeof(AbpIdentityDomainSharedModule),
typeof(AbpUsersDomainModule),
- typeof(AbpAutoMapperModule)
+ typeof(AbpMapperlyModule)
)]
public class AbpIdentityDomainModule : AbpModule
{
@@ -35,12 +35,7 @@ public class AbpIdentityDomainModule : AbpModule
public override void ConfigureServices(ServiceConfigurationContext context)
{
- context.Services.AddAutoMapperObjectMapper();
-
- Configure(options =>
- {
- options.AddProfile(validate: true);
- });
+ context.Services.AddMapperlyObjectMapper();
Configure(options =>
{
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
new file mode 100644
index 0000000000..f7d41c9891
--- /dev/null
+++ b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityDomainMappers.cs
@@ -0,0 +1,33 @@
+using Riok.Mapperly.Abstractions;
+using Volo.Abp.Mapperly;
+using Volo.Abp.Users;
+
+namespace Volo.Abp.Identity;
+
+[Mapper]
+public partial class IdentityUserToUserEtoMapper : MapperBase
+{
+ public override partial UserEto Map(IdentityUser source);
+ public override partial void Map(IdentityUser source, UserEto destination);
+}
+
+[Mapper]
+public partial class IdentityClaimTypeToIdentityClaimTypeEtoMapper : MapperBase
+{
+ public override partial IdentityClaimTypeEto Map(IdentityClaimType source);
+ public override partial void Map(IdentityClaimType source, IdentityClaimTypeEto destination);
+}
+
+[Mapper]
+public partial class IdentityRoleToIdentityRoleEtoMapper : MapperBase
+{
+ public override partial IdentityRoleEto Map(IdentityRole source);
+ public override partial void Map(IdentityRole source, IdentityRoleEto destination);
+}
+
+[Mapper]
+public partial class OrganizationUnitToOrganizationUnitEtoMapper : MapperBase
+{
+ public override partial OrganizationUnitEto Map(OrganizationUnit source);
+ public override partial void Map(OrganizationUnit source, OrganizationUnitEto destination);
+}
diff --git a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityDomainMappingProfile.cs b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityDomainMappingProfile.cs
deleted file mode 100644
index ae9e5b5065..0000000000
--- a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityDomainMappingProfile.cs
+++ /dev/null
@@ -1,15 +0,0 @@
-using AutoMapper;
-using Volo.Abp.Users;
-
-namespace Volo.Abp.Identity;
-
-public class IdentityDomainMappingProfile : Profile
-{
- public IdentityDomainMappingProfile()
- {
- CreateMap();
- CreateMap();
- CreateMap();
- CreateMap();
- }
-}
diff --git a/modules/identity/src/Volo.Abp.Identity.Web/AbpIdentityWebAutoMapperProfile.cs b/modules/identity/src/Volo.Abp.Identity.Web/AbpIdentityWebAutoMapperProfile.cs
deleted file mode 100644
index e032b3352f..0000000000
--- a/modules/identity/src/Volo.Abp.Identity.Web/AbpIdentityWebAutoMapperProfile.cs
+++ /dev/null
@@ -1,57 +0,0 @@
-using AutoMapper;
-using Volo.Abp.AutoMapper;
-using Volo.Abp.Identity.Web.Pages.Identity.Roles;
-using CreateUserModalModel = Volo.Abp.Identity.Web.Pages.Identity.Users.CreateModalModel;
-using EditUserModalModel = Volo.Abp.Identity.Web.Pages.Identity.Users.EditModalModel;
-
-namespace Volo.Abp.Identity.Web;
-
-public class AbpIdentityWebAutoMapperProfile : Profile
-{
- public AbpIdentityWebAutoMapperProfile()
- {
- CreateUserMappings();
- CreateRoleMappings();
- }
-
- protected virtual void CreateUserMappings()
- {
- //List
- CreateMap()
- .Ignore(x => x.Password);
-
- //CreateModal
- CreateMap()
- .MapExtraProperties()
- .ForMember(dest => dest.RoleNames, opt => opt.Ignore());
-
- CreateMap()
- .ForMember(dest => dest.IsAssigned, opt => opt.Ignore());
-
- //EditModal
- CreateMap()
- .MapExtraProperties()
- .ForMember(dest => dest.RoleNames, opt => opt.Ignore());
-
- CreateMap()
- .ForMember(dest => dest.IsAssigned, opt => opt.Ignore());
-
- CreateMap()
- .ForMember(dest => dest.CreatedBy, opt => opt.Ignore())
- .ForMember(dest => dest.ModifiedBy, opt => opt.Ignore());
- }
-
- protected virtual void CreateRoleMappings()
- {
- //List
- CreateMap();
-
- //CreateModal
- CreateMap()
- .MapExtraProperties();
-
- //EditModal
- CreateMap()
- .MapExtraProperties();
- }
-}
diff --git a/modules/identity/src/Volo.Abp.Identity.Web/AbpIdentityWebMappers.cs b/modules/identity/src/Volo.Abp.Identity.Web/AbpIdentityWebMappers.cs
new file mode 100644
index 0000000000..1877dac1d8
--- /dev/null
+++ b/modules/identity/src/Volo.Abp.Identity.Web/AbpIdentityWebMappers.cs
@@ -0,0 +1,94 @@
+using Riok.Mapperly.Abstractions;
+using Volo.Abp.Mapperly;
+using Volo.Abp.Identity.Web.Pages.Identity.Roles;
+using CreateUserModalModel = Volo.Abp.Identity.Web.Pages.Identity.Users.CreateModalModel;
+using EditUserModalModel = Volo.Abp.Identity.Web.Pages.Identity.Users.EditModalModel;
+
+namespace Volo.Abp.Identity.Web;
+
+[Mapper]
+public partial class IdentityUserDtoToEditUserModalModelUserInfoViewModelMapper : MapperBase
+{
+ [MapperIgnoreTarget(nameof(EditUserModalModel.UserInfoViewModel.Password))]
+ public override partial EditUserModalModel.UserInfoViewModel Map(IdentityUserDto source);
+
+ [MapperIgnoreTarget(nameof(EditUserModalModel.UserInfoViewModel.Password))]
+ public override partial void Map(IdentityUserDto source, EditUserModalModel.UserInfoViewModel destination);
+}
+
+[Mapper]
+[MapExtraProperties]
+public partial class CreateUserModalModelUserInfoViewModelToIdentityUserCreateDtoMapper : MapperBase
+{
+ [MapperIgnoreTarget(nameof(IdentityUserCreateDto.RoleNames))]
+ public override partial IdentityUserCreateDto Map(CreateUserModalModel.UserInfoViewModel source);
+
+ [MapperIgnoreTarget(nameof(IdentityUserCreateDto.RoleNames))]
+ public override partial void Map(CreateUserModalModel.UserInfoViewModel source, IdentityUserCreateDto destination);
+}
+
+[Mapper]
+[MapExtraProperties]
+public partial class IdentityRoleDtoToCreateUserModalModelAssignedRoleViewModelMapper : MapperBase
+{
+ [MapperIgnoreTarget(nameof(CreateUserModalModel.AssignedRoleViewModel.IsAssigned))]
+ public override partial CreateUserModalModel.AssignedRoleViewModel Map(IdentityRoleDto source);
+
+ [MapperIgnoreTarget(nameof(CreateUserModalModel.AssignedRoleViewModel.IsAssigned))]
+ public override partial void Map(IdentityRoleDto source, CreateUserModalModel.AssignedRoleViewModel destination);
+}
+
+[Mapper]
+public partial class EditUserModalModelUserInfoViewModelToIdentityUserUpdateDtoMapper : MapperBase
+{
+ [MapperIgnoreTarget(nameof(IdentityUserUpdateDto.RoleNames))]
+ public override partial IdentityUserUpdateDto Map(EditUserModalModel.UserInfoViewModel source);
+
+ [MapperIgnoreTarget(nameof(IdentityUserUpdateDto.RoleNames))]
+ public override partial void Map(EditUserModalModel.UserInfoViewModel source, IdentityUserUpdateDto destination);
+}
+
+[Mapper]
+public partial class IdentityRoleDtoToEditUserModalModelAssignedRoleViewModelMapper : MapperBase
+{
+ [MapperIgnoreTarget(nameof(EditUserModalModel.AssignedRoleViewModel.IsAssigned))]
+ public override partial EditUserModalModel.AssignedRoleViewModel Map(IdentityRoleDto source);
+
+ [MapperIgnoreTarget(nameof(EditUserModalModel.AssignedRoleViewModel.IsAssigned))]
+ public override partial void Map(IdentityRoleDto source, EditUserModalModel.AssignedRoleViewModel destination);
+}
+
+[Mapper]
+public partial class IdentityUserDtoToEditUserModalModelDetailViewModelMapper : MapperBase
+{
+ [MapperIgnoreTarget(nameof(EditUserModalModel.DetailViewModel.CreatedBy))]
+ [MapperIgnoreTarget(nameof(EditUserModalModel.DetailViewModel.ModifiedBy))]
+ public override partial EditUserModalModel.DetailViewModel Map(IdentityUserDto source);
+
+ [MapperIgnoreTarget(nameof(EditUserModalModel.DetailViewModel.CreatedBy))]
+ [MapperIgnoreTarget(nameof(EditUserModalModel.DetailViewModel.ModifiedBy))]
+ public override partial void Map(IdentityUserDto source, EditUserModalModel.DetailViewModel destination);
+}
+
+[Mapper]
+public partial class IdentityRoleDtoToEditModalModelRoleInfoModelMapper : MapperBase
+{
+ public override partial EditModalModel.RoleInfoModel Map(IdentityRoleDto source);
+ public override partial void Map(IdentityRoleDto source, EditModalModel.RoleInfoModel destination);
+}
+
+[Mapper]
+[MapExtraProperties]
+public partial class CreateModalModelRoleInfoModelToIdentityRoleCreateDtoMapper : MapperBase
+{
+ public override partial IdentityRoleCreateDto Map(CreateModalModel.RoleInfoModel source);
+ public override partial void Map(CreateModalModel.RoleInfoModel source, IdentityRoleCreateDto destination);
+}
+
+[Mapper]
+[MapExtraProperties]
+public partial class EditModalModelRoleInfoModelToIdentityRoleUpdateDtoMapper : MapperBase
+{
+ public override partial IdentityRoleUpdateDto Map(EditModalModel.RoleInfoModel source);
+ public override partial void Map(EditModalModel.RoleInfoModel source, IdentityRoleUpdateDto destination);
+}
diff --git a/modules/identity/src/Volo.Abp.Identity.Web/AbpIdentityWebModule.cs b/modules/identity/src/Volo.Abp.Identity.Web/AbpIdentityWebModule.cs
index ae3e8ebc72..6d2faf6467 100644
--- a/modules/identity/src/Volo.Abp.Identity.Web/AbpIdentityWebModule.cs
+++ b/modules/identity/src/Volo.Abp.Identity.Web/AbpIdentityWebModule.cs
@@ -3,7 +3,7 @@ using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.AspNetCore.Mvc.Localization;
using Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared;
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.Identity.Localization;
using Volo.Abp.Identity.Web.Navigation;
@@ -19,7 +19,7 @@ using Volo.Abp.Threading;
namespace Volo.Abp.Identity.Web;
[DependsOn(typeof(AbpIdentityApplicationContractsModule))]
-[DependsOn(typeof(AbpAutoMapperModule))]
+[DependsOn(typeof(AbpMapperlyModule))]
[DependsOn(typeof(AbpPermissionManagementWebModule))]
[DependsOn(typeof(AbpAspNetCoreMvcUiThemeSharedModule))]
public class AbpIdentityWebModule : AbpModule
@@ -51,12 +51,7 @@ public class AbpIdentityWebModule : AbpModule
options.FileSets.AddEmbedded();
});
- context.Services.AddAutoMapperObjectMapper();
-
- Configure(options =>
- {
- options.AddProfile(validate: true);
- });
+ context.Services.AddMapperlyObjectMapper();
Configure(options =>
{
diff --git a/modules/identity/src/Volo.Abp.Identity.Web/Volo.Abp.Identity.Web.csproj b/modules/identity/src/Volo.Abp.Identity.Web/Volo.Abp.Identity.Web.csproj
index 8a77024b52..54bd5fd28b 100644
--- a/modules/identity/src/Volo.Abp.Identity.Web/Volo.Abp.Identity.Web.csproj
+++ b/modules/identity/src/Volo.Abp.Identity.Web/Volo.Abp.Identity.Web.csproj
@@ -40,7 +40,7 @@
-
+