public static IDisposable Use(RequirePermissionsSimpleBatchStateChecker <TState> checker) { var previousValue = Current; _current.Value = checker; return(new DisposeAction(() => _current.Value = previousValue)); }
public void Switch_Current_Checker_Test() { var checker = RequirePermissionsSimpleBatchStateChecker <MyStateEntity2> .Current; checker.ShouldNotBeNull(); RequirePermissionsSimpleBatchStateChecker <MyStateEntity2> checker2 = null; using (RequirePermissionsSimpleBatchStateChecker <MyStateEntity2> .Use(new RequirePermissionsSimpleBatchStateChecker <MyStateEntity2>())) { checker2 = RequirePermissionsSimpleBatchStateChecker <MyStateEntity2> .Current; checker2.ShouldNotBeNull(); checker2.ShouldNotBe(checker); } checker2.ShouldNotBeNull(); checker2.ShouldNotBe(checker); }
public async Task <Toolbar> GetAsync(string name) { var toolbar = new Toolbar(name); using (var scope = ServiceProvider.CreateScope()) { using (RequirePermissionsSimpleBatchStateChecker <ToolbarItem> .Use(new RequirePermissionsSimpleBatchStateChecker <ToolbarItem>())) { var context = new ToolbarConfigurationContext(ThemeManager.CurrentTheme, toolbar, scope.ServiceProvider); foreach (var contributor in Options.Contributors) { await contributor.ConfigureToolbarAsync(context); } await CheckPermissionsAsync(scope.ServiceProvider, toolbar); } } return(toolbar); }
protected virtual async Task <ApplicationMenu> GetInternalAsync(string name) { var menu = new ApplicationMenu(name); using (var scope = ServiceScopeFactory.CreateScope()) { using (RequirePermissionsSimpleBatchStateChecker <ApplicationMenuItem> .Use(new RequirePermissionsSimpleBatchStateChecker <ApplicationMenuItem>())) { var context = new MenuConfigurationContext(menu, scope.ServiceProvider); foreach (var contributor in Options.MenuContributors) { await contributor.ConfigureMenuAsync(context); } await CheckPermissionsAsync(scope.ServiceProvider, menu); } } NormalizeMenu(menu); return(menu); }