Esempio n. 1
0
        public RoleContractProfile(IPermissionSorter permissionSorter)
        {
            CreateMap <RoleInfoModel, RoleContractBase>()
            .ForMember(dest => dest.Id, opt => opt.MapFrom(src => src.Id))
            .ForMember(dest => dest.Name, opt => opt.MapFrom(src => src.Name))
            .ForMember(dest => dest.Description, opt => opt.MapFrom(src => src.Description));

            CreateMap <RoleInfoModel, RoleContract>()
            .IncludeBase <RoleInfoModel, RoleContractBase>()
            .ForMember(dest => dest.Permissions, opt => opt.Ignore());

            CreateMap <RoleModel, RoleContractBase>()
            .IncludeBase <RoleInfoModel, RoleContractBase>();

            CreateMap <RoleModel, RoleContract>()
            .IncludeBase <RoleInfoModel, RoleContract>()
            .ForMember(dest => dest.Permissions, opt => opt.MapFrom(src => src.Permissions))
            .AfterMap((src, dest) => { dest.Permissions = permissionSorter.SortPermissions(dest.Permissions); });


            CreateMap <RoleContractBase, RoleInfoModel>()
            .ForMember(dest => dest.Id, opt => opt.MapFrom(src => src.Id))
            .ForMember(dest => dest.Name, opt => opt.MapFrom(src => src.Name))
            .ForMember(dest => dest.AuthenticationServiceOnly, opt => opt.Ignore())
            .ForMember(dest => dest.Description, opt => opt.MapFrom(src => src.Description));

            CreateMap <RoleContractBase, RoleModel>()
            .IncludeBase <RoleContractBase, RoleInfoModel>();

            CreateMap <RoleContract, RoleModel>()
            .IncludeBase <RoleContractBase, RoleModel>()
            .ForMember(dest => dest.Permissions, opt => opt.MapFrom(src => src.Permissions))
            .AfterMap((src, dest) => { dest.Permissions = permissionSorter.SortPermissions(dest.Permissions); });
        }
Esempio n. 2
0
        public RoleProfile(IPermissionSorter permissionSorter, IResourcePermissionTypeActionSorter resourcePermissionTypeActionSorter,
                           IResourcePermissionSorter resourcePermissionSorter)
        {
            CreateMap <RoleInfoModel, ApplicationRole>()
            .ForMember(dest => dest.Id, opt => opt.MapFrom(src => src.Id))
            .ForMember(dest => dest.Name, opt => opt.MapFrom(src => src.Name))
            .ForMember(dest => dest.Description, opt => opt.MapFrom(src => src.Description))
            .ForMember(dest => dest.Permissions, opt => opt.Ignore())
            .ForMember(dest => dest.NormalizedName, opt => opt.Ignore())
            .ForMember(dest => dest.ConcurrencyStamp, opt => opt.Ignore());

            CreateMap <ApplicationRole, RoleInfoModel>()
            .ForMember(dest => dest.Id, opt => opt.MapFrom(src => src.Id))
            .ForMember(dest => dest.Name, opt => opt.MapFrom(src => src.Name))
            .ForMember(dest => dest.AuthenticationServiceOnly, opt => opt.Ignore())
            .ForMember(dest => dest.Description, opt => opt.MapFrom(src => src.Description));

            CreateMap <ApplicationRole, RoleModel>()
            .IncludeBase <ApplicationRole, RoleInfoModel>()
            .ForMember(dest => dest.Permissions, opt => opt.MapFrom(src => src.Permissions))
            .ForMember(dest => dest.ResourcePermissions, opt => opt.MapFrom(src => src.ResourcePermissions))
            .ForMember(dest => dest.ResourcePermissionTypeActions, opt => opt.MapFrom(src => src.ResourcePermissionTypeActions))
            .AfterMap((src, dest) =>
            {
                dest.Permissions = permissionSorter.SortPermissions(dest.Permissions);
                dest.ResourcePermissionTypeActions = resourcePermissionTypeActionSorter.SortResourcePermissionTypeActions(dest.ResourcePermissionTypeActions);
                dest.ResourcePermissions           = resourcePermissionSorter.SortResourcePermissions(dest.ResourcePermissions);
            });

            CreateMap <RoleModel, ApplicationRole>()
            .IncludeBase <RoleInfoModel, ApplicationRole>()
            .ForMember(dest => dest.Permissions, opt => opt.MapFrom(src => src.Permissions))
            .ForMember(dest => dest.ResourcePermissions, opt => opt.MapFrom(src => src.ResourcePermissions))
            .ForMember(dest => dest.ResourcePermissionTypeActions, opt => opt.MapFrom(src => src.ResourcePermissionTypeActions))
            .AfterMap((src, dest) =>
            {
                dest.Permissions                   = permissionSorter.SortPermissions(dest.Permissions);
                dest.ResourcePermissions           = resourcePermissionSorter.SortResourcePermissions(dest.ResourcePermissions);
                dest.ResourcePermissionTypeActions = resourcePermissionTypeActionSorter.SortResourcePermissionTypeActions(dest.ResourcePermissionTypeActions);
            });

            CreateMap <RoleInfoModel, RoleViewModel>()
            .ForMember(dest => dest.Id, opt => opt.MapFrom(src => src.Id))
            .ForMember(dest => dest.Name, opt => opt.MapFrom(src => src.Name))
            .ForMember(dest => dest.Description, opt => opt.MapFrom(src => src.Description))
            .ForMember(dest => dest.Permissions, opt => opt.Ignore())
            .ReverseMap()
            .ForMember(dest => dest.Id, opt => opt.MapFrom(src => src.Id))
            .ForMember(dest => dest.Name, opt => opt.MapFrom(src => src.Name))
            .ForMember(dest => dest.Description, opt => opt.MapFrom(src => src.Description));

            CreateMap <RoleModel, RoleViewModel>()
            .IncludeBase <RoleInfoModel, RoleViewModel>()
            .ForMember(dest => dest.Permissions, opt => opt.MapFrom(src => src.Permissions))
            .ForMember(dest => dest.ResourcePermissions, opt => opt.MapFrom(src => src.ResourcePermissions))
            .ForMember(dest => dest.ResourcePermissionTypeActions, opt => opt.MapFrom(src => src.ResourcePermissionTypeActions))
            .AfterMap((src, dest) =>
            {
                dest.Permissions                   = permissionSorter.SortPermissions(dest.Permissions);
                dest.ResourcePermissions           = resourcePermissionSorter.SortResourcePermissions(dest.ResourcePermissions);
                dest.ResourcePermissionTypeActions = resourcePermissionTypeActionSorter.SortResourcePermissionTypeActions(dest.ResourcePermissionTypeActions);
            });

            CreateMap <RoleViewModel, RoleModel>()
            .IncludeBase <RoleViewModel, RoleInfoModel>()
            .ForMember(dest => dest.Permissions, opt => opt.MapFrom(src => src.Permissions))
            .ForMember(dest => dest.AuthenticationServiceOnly, opt => opt.Ignore())
            .AfterMap((src, dest) =>
            {
                dest.Permissions = permissionSorter.SortPermissions(dest.Permissions);
            });

            CreateMap <ApplicationRole, RoleViewModel>()
            .ForMember(dest => dest.Id, opt => opt.MapFrom(src => src.Id))
            .ForMember(dest => dest.Name, opt => opt.MapFrom(src => src.Name))
            .ForMember(dest => dest.Description, opt => opt.MapFrom(src => src.Description))
            .ForMember(dest => dest.Permissions, opt => opt.MapFrom(src => src.Permissions))
            .ForMember(dest => dest.ResourcePermissions, opt => opt.MapFrom(src => src.ResourcePermissions))
            .ForMember(dest => dest.ResourcePermissionTypeActions, opt => opt.MapFrom(src => src.ResourcePermissionTypeActions))
            .AfterMap((src, dest) =>
            {
                dest.Permissions                   = permissionSorter.SortPermissions(dest.Permissions);
                dest.ResourcePermissions           = resourcePermissionSorter.SortResourcePermissions(dest.ResourcePermissions);
                dest.ResourcePermissionTypeActions = resourcePermissionTypeActionSorter.SortResourcePermissionTypeActions(dest.ResourcePermissionTypeActions);
            })
            .ReverseMap()
            .ForMember(dest => dest.Id, opt => opt.MapFrom(src => src.Id))
            .ForMember(dest => dest.Name, opt => opt.MapFrom(src => src.Name))
            .ForMember(dest => dest.Description, opt => opt.MapFrom(src => src.Description))
            .ForMember(dest => dest.Permissions, opt => opt.MapFrom(src => src.Permissions))
            .ForMember(dest => dest.ResourcePermissions, opt => opt.MapFrom(src => src.ResourcePermissions))
            .ForMember(dest => dest.ResourcePermissionTypeActions, opt => opt.MapFrom(src => src.ResourcePermissionTypeActions))
            .AfterMap((src, dest) =>
            {
                dest.Permissions                   = permissionSorter.SortPermissions(dest.Permissions);
                dest.ResourcePermissions           = resourcePermissionSorter.SortResourcePermissions(dest.ResourcePermissions);
                dest.ResourcePermissionTypeActions = resourcePermissionTypeActionSorter.SortResourcePermissionTypeActions(dest.ResourcePermissionTypeActions);
            });
        }