using System.Reflection; using Abp.Authorization; using Abp.AutoMapper; using Abp.Modules; using Abp.Notifications; using ContractService.BaseSystem.Notifications.Dto; using ContractService.Basic.Organization.Dto; using ContractService.Client; using ContractService.Lawyer; using ContractService.Lawyer.Dto; using ContractService.LegalCase; using ContractService.LegalCase.Dto; using ContractService.LegalContract; using ContractService.LegalContract.Contract.Dto; using IwbZero.Authorization.Base.Permissions; namespace ContractService { [DependsOn( typeof(ContractServiceDataModule), typeof(AbpAutoMapperModule) )] public class ContractServiceApplicationModule : AbpModule { public override void PreInitialize() { } public override void Initialize() { IocManager.RegisterAssemblyByConvention(Assembly.GetExecutingAssembly()); // TODO: Is there somewhere else to store these, with the dto classes Configuration.Modules.AbpAutoMapper().Configurators.Add(cfg => { // Role and permission cfg.CreateMap().ConvertUsing(r => r.Name); cfg.CreateMap().ConvertUsing(r => r.Name); cfg.CreateMap(); cfg.CreateMap().ForMember(a => a.ParentName, s => s.MapFrom(a => a.ParentInfo == null ? "" : a.ParentInfo.Name)); cfg.CreateMap() .ForMember(a => a.LawFirmName, s => s.MapFrom(a => a.LawFirmInfo == null ? "" : a.LawFirmInfo.Name)) .ForMember(a => a.OrganizationName, s => s.MapFrom(a => a.OrganizationInfo == null ? "" : a.OrganizationInfo.Name)); cfg.CreateMap() .ForMember(a => a.CaseName, s => s.MapFrom(a => a.CaseInfo == null ? "" : a.CaseInfo.Name)) .ForMember(a => a.CompanyName, s => s.MapFrom(a => a.CaseInfo == null ? "" : a.CaseInfo.CompanyInfo == null ? "" : a.CaseInfo.CompanyInfo.Name)); cfg.CreateMap() .ForMember(a => a.CompanyName, s => s.MapFrom(a => a.CompanyInfo == null ? "" : a.CompanyInfo.Name)); }); } } }