public async Task <RoleDetails> GetByIdAsync(int?roleId) { if (roleId == null || roleId < 1) { return(await GetAnonymousRoleAsync()); } var cachedRole = await _roleCache.GetOrAddAsync(roleId.Value, async() => { var dbRole = await QueryRoleById(roleId.Value).FirstOrDefaultAsync(); var result = _roleMappingHelper.MapDetails(dbRole); return(result); }); if (cachedRole == null) { return(GetAnonymousRole()); } return(cachedRole); }
public async Task <RoleDetails> GetByIdAsync(int?roleId) { if (!roleId.HasValue) { return(await GetAnonymousRoleFromCacheAsync()); } if (roleId < 1) { return(null); } var cachedRole = await _roleCache.GetOrAddAsync(roleId.Value, async() => { var dbRole = await QueryRoles() .FilterById(roleId.Value) .SingleOrDefaultAsync(); var result = _roleDetailsMapper.Map(dbRole); return(result); }); return(cachedRole); }