当前位置: 首页>>代码示例>>C#>>正文


C# IRoleRepository.Find方法代码示例

本文整理汇总了C#中IRoleRepository.Find方法的典型用法代码示例。如果您正苦于以下问题:C# IRoleRepository.Find方法的具体用法?C# IRoleRepository.Find怎么用?C# IRoleRepository.Find使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在IRoleRepository的用法示例。


在下文中一共展示了IRoleRepository.Find方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: RoleModelsCheckDB

        public static IEnumerable<RoleViewModel> RoleModelsCheckDB(
            this IEnumerable<IResourceAuthProvider> authProviders, IRoleRepository roleRepo)
        {
            var resourceAuthProviders = authProviders as IResourceAuthProvider[] ?? authProviders.ToArray();
            var systemRoleViewModels = resourceAuthProviders.RoleModels().ToList();
            var roleViewModels = new List<RoleViewModel>(systemRoleViewModels);

            var dbRoles = roleRepo.Find(x => true, role => role.Name).ToList();

            roleViewModels.AddRange(from applicationRole in dbRoles
                                    where systemRoleViewModels.All(x => x.Name != applicationRole.Name)
                                    select new RoleViewModel
                                    {
                                        Name = applicationRole.Name,
                                        RoleId = applicationRole.Id,
                                        Claims = applicationRole.RoleClaims.Select(dbClaim => new RoleClaimViewModel()
                                        {
                                            Type = dbClaim.ClaimType,
                                            Value = dbClaim.Value
                                        }),
                                        IsPersisted = true,
                                        IsSytemRole = false
                                    });

            foreach (var dbRole in dbRoles)
            {
                var found = roleViewModels.FirstOrDefault(x => x.Name == dbRole.Name && x.IsSytemRole);
                if (found != null) found.RoleId = dbRole.Id;
            }

            //var availableClaims = resourceAuthProviders.AvailableSystemClaims().ToArray();

            //foreach (var roleViewModel in roleViewModels)
            //{
            //    foreach (var roleClaimRowViewModel in availableClaims)
            //    {
            //        roleClaimRowViewModel.IsSelected =
            //            roleViewModel.Claims.Any(
            //                x =>
            //                    x.Type == roleClaimRowViewModel.Type && x.Type == roleClaimRowViewModel.Value);
            //    }
            //    roleViewModel.AvailableClaims = availableClaims.ToArray();
            //}

            return roleViewModels;
        }
开发者ID:mitsbits,项目名称:Ubik.MVC5,代码行数:46,代码来源:InternalExtensions.cs


注:本文中的IRoleRepository.Find方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。