diff --git a/framework/src/Volo.Abp.AutoMapper/AutoMapper/AbpAutoMapperMultiLingualDtoExtensions.cs b/framework/src/Volo.Abp.AutoMapper/AutoMapper/AbpAutoMapperMultiLingualDtoExtensions.cs deleted file mode 100644 index 83cb2b35b9..0000000000 --- a/framework/src/Volo.Abp.AutoMapper/AutoMapper/AbpAutoMapperMultiLingualDtoExtensions.cs +++ /dev/null @@ -1,54 +0,0 @@ -using Volo.Abp.MultiLingualObject; -using Volo.Abp.Threading; - -namespace AutoMapper -{ - public static class AbpAutoMapperMultiLingualDtoExtensions - { - public static CreateMultiLingualMapResult CreateMultiLingualMap(this Profile profile) - where TTranslation : class, IMultiLingualTranslation - where TSource : IHasMultiLingual - { - - return new( - profile.CreateMap().BeforeMap>(), - profile.CreateMap()); - } - } - - public class AbpMultiLingualMapperAction : IMappingAction - where TTranslation : class, IMultiLingualTranslation - where TSource : IHasMultiLingual - { - private readonly IMultiLingualObjectManager _multiLingualObjectManager; - - public AbpMultiLingualMapperAction(IMultiLingualObjectManager multiLingualObjectManager) - { - _multiLingualObjectManager = multiLingualObjectManager; - } - - public void Process(TSource source, TDestination destination, ResolutionContext context) - { - var translation = AsyncHelper.RunSync(() => _multiLingualObjectManager.GetTranslationAsync(source)); - if (translation != null) - { - context.Mapper.Map(translation, destination); - } - } - } - - public class CreateMultiLingualMapResult - { - public IMappingExpression EntityMap { get; } - - public IMappingExpression TranslateMap { get; } - - public CreateMultiLingualMapResult( - IMappingExpression entityMap, - IMappingExpression translateMap) - { - EntityMap = entityMap; - TranslateMap = translateMap; - } - } -} diff --git a/framework/src/Volo.Abp.AutoMapper/Volo.Abp.AutoMapper.csproj b/framework/src/Volo.Abp.AutoMapper/Volo.Abp.AutoMapper.csproj index 4a5f44f937..9f028d31ee 100644 --- a/framework/src/Volo.Abp.AutoMapper/Volo.Abp.AutoMapper.csproj +++ b/framework/src/Volo.Abp.AutoMapper/Volo.Abp.AutoMapper.csproj @@ -16,7 +16,6 @@ - diff --git a/framework/src/Volo.Abp.AutoMapper/Volo/Abp/AutoMapper/AbpAutoMapperModule.cs b/framework/src/Volo.Abp.AutoMapper/Volo/Abp/AutoMapper/AbpAutoMapperModule.cs index 2e53215689..cb576ba1de 100644 --- a/framework/src/Volo.Abp.AutoMapper/Volo/Abp/AutoMapper/AbpAutoMapperModule.cs +++ b/framework/src/Volo.Abp.AutoMapper/Volo/Abp/AutoMapper/AbpAutoMapperModule.cs @@ -4,7 +4,6 @@ using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Options; using Volo.Abp.Auditing; using Volo.Abp.Modularity; -using Volo.Abp.MultiLingualObject; using Volo.Abp.ObjectExtending; using Volo.Abp.ObjectMapping; @@ -13,8 +12,7 @@ namespace Volo.Abp.AutoMapper [DependsOn( typeof(AbpObjectMappingModule), typeof(AbpObjectExtendingModule), - typeof(AbpAuditingModule), - typeof(AbpMultiLingualObjectModule) + typeof(AbpAuditingModule) )] public class AbpAutoMapperModule : AbpModule { @@ -29,8 +27,6 @@ namespace Volo.Abp.AutoMapper context.Services.AddSingleton(CreateMappings); context.Services.AddSingleton(provider => provider.GetRequiredService()); - - context.Services.AddTransient(typeof(AbpMultiLingualMapperAction<,,>)); } private MapperAccessor CreateMappings(IServiceProvider serviceProvider) diff --git a/framework/src/Volo.Abp.Ddd.Domain/Volo.Abp.Ddd.Domain.csproj b/framework/src/Volo.Abp.Ddd.Domain/Volo.Abp.Ddd.Domain.csproj index e676f24313..87879334af 100644 --- a/framework/src/Volo.Abp.Ddd.Domain/Volo.Abp.Ddd.Domain.csproj +++ b/framework/src/Volo.Abp.Ddd.Domain/Volo.Abp.Ddd.Domain.csproj @@ -20,7 +20,6 @@ - diff --git a/framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/AbpDddDomainModule.cs b/framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/AbpDddDomainModule.cs index 0ebbe859bd..523a6ee4f2 100644 --- a/framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/AbpDddDomainModule.cs +++ b/framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/AbpDddDomainModule.cs @@ -6,7 +6,6 @@ using Volo.Abp.EventBus; using Volo.Abp.ExceptionHandling; using Volo.Abp.Guids; using Volo.Abp.Modularity; -using Volo.Abp.MultiLingualObject; using Volo.Abp.MultiTenancy; using Volo.Abp.ObjectMapping; using Volo.Abp.Specifications; @@ -26,7 +25,6 @@ namespace Volo.Abp.Domain typeof(AbpTimingModule), typeof(AbpUnitOfWorkModule), typeof(AbpObjectMappingModule), - typeof(AbpMultiLingualObjectModule), typeof(AbpExceptionHandlingModule), typeof(AbpSpecificationsModule) )] diff --git a/framework/test/Volo.Abp.AutoMapper.Tests/AutoMapper/AbpAutoMapperMultiLingualDto_Tests.cs b/framework/test/Volo.Abp.AutoMapper.Tests/AutoMapper/AbpAutoMapperMultiLingualDto_Tests.cs deleted file mode 100644 index 0efb72625b..0000000000 --- a/framework/test/Volo.Abp.AutoMapper.Tests/AutoMapper/AbpAutoMapperMultiLingualDto_Tests.cs +++ /dev/null @@ -1,114 +0,0 @@ -using System; -using System.Collections.Generic; -using Microsoft.Extensions.DependencyInjection; -using Shouldly; -using Volo.Abp; -using Volo.Abp.AutoMapper; -using Volo.Abp.Localization; -using Volo.Abp.MultiLingualObject.TestObjects; -using Volo.Abp.Testing; -using Xunit; - -namespace AutoMapper -{ - public class AbpAutoMapperMultiLingualDto_Tests : AbpIntegratedTest - { - private readonly Volo.Abp.ObjectMapping.IObjectMapper _objectMapper; - private readonly MultiLingualBook _book; - - public AbpAutoMapperMultiLingualDto_Tests() - { - _objectMapper = ServiceProvider.GetRequiredService(); - - var id = Guid.NewGuid(); - _book = new MultiLingualBook(id, 100) - { - Translations = new List() - }; - - var en = new MultiLingualBookTranslation - { - Language = "en", - Name = "C# in Depth", - }; - var zh = new MultiLingualBookTranslation - { - Language = "zh-Hans", - Name = "深入理解C#", - }; - - _book.Translations.Add(en); - _book.Translations.Add(zh); - } - - protected override void SetAbpApplicationCreationOptions(AbpApplicationCreationOptions options) - { - options.UseAutofac(); - } - - [Fact] - public void Should_Map_Current_UI_Culture() - { - using (CultureHelper.Use("zh-Hans")) - { - var bookDto = _objectMapper.Map(_book); - - bookDto.Name.ShouldBe("深入理解C#"); - bookDto.Price.ShouldBe(_book.Price); - bookDto.Id.ShouldBe(_book.Id); - } - } - - [Fact] - public void Should_Map_Fallback_UI_Culture() - { - using (CultureHelper.Use("en-us")) - { - var bookDto = _objectMapper.Map(_book); - - bookDto.Name.ShouldBe("C# in Depth"); - bookDto.Price.ShouldBe(_book.Price); - bookDto.Id.ShouldBe(_book.Id); - } - } - - [Fact] - public void Should_Map_Default_Language() - { - using (CultureHelper.Use("tr")) - { - var bookDto = _objectMapper.Map(_book); - - bookDto.Name.ShouldBe("C# in Depth"); - bookDto.Price.ShouldBe(_book.Price); - bookDto.Id.ShouldBe(_book.Id); - } - } - - [Fact] - public void NoTranslations_ShouldStillMapObject() - { - _book.Translations.Clear(); - - using (CultureHelper.Use("tr")) - { - var bookDto = _objectMapper.Map(_book); - - bookDto.Name.ShouldBeNull(); - bookDto.Price.ShouldBe(_book.Price); - bookDto.Id.ShouldBe(_book.Id); - } - } - } - - public class BookProfile : Profile - { - public BookProfile() - { - var mapResult = this.CreateMultiLingualMap(); - - mapResult.EntityMap.ValidateMemberList(MemberList.None); - mapResult.TranslateMap.ValidateMemberList(MemberList.None); - } - } -}