本文整理汇总了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;
}