コード例 #1
0
ファイル: StudioXCommonHub.cs プロジェクト: longhuynh/studiox
        /// <summary>
        /// Initializes a new instance of the <see cref="StudioXCommonHub"/> class.
        /// </summary>
        public StudioXCommonHub(IOnlineClientManager onlineClientManager)
        {
            this.onlineClientManager = onlineClientManager;

            Logger         = NullLogger.Instance;
            StudioXSession = NullStudioXSession.Instance;
        }
コード例 #2
0
 public SideBarNavViewComponent(
     IUserNavigationManager userNavigationManager,
     IStudioXSession session)
 {
     this.userNavigationManager = userNavigationManager;
     this.session = session;
 }
コード例 #3
0
        public FeaturesScriptManager(IFeatureManager featureManager, IFeatureChecker featureChecker)
        {
            this.featureManager = featureManager;
            this.featureChecker = featureChecker;

            StudioXSession = NullStudioXSession.Instance;
        }
コード例 #4
0
 public StudioXUserConfigurationBuilder(
     IMultiTenancyConfig multiTenancyConfig,
     ILanguageManager languageManager,
     ILocalizationManager localizationManager,
     IFeatureManager featureManager,
     IFeatureChecker featureChecker,
     IPermissionManager permissionManager,
     IUserNavigationManager userNavigationManager,
     ISettingDefinitionManager settingDefinitionManager,
     ISettingManager settingManager,
     IStudioXAntiForgeryConfiguration antiForgeryConfiguration,
     IStudioXSession session,
     IPermissionChecker permissionChecker)
 {
     this.multiTenancyConfig         = multiTenancyConfig;
     this.languageManager            = languageManager;
     this.localizationManager        = localizationManager;
     this.featureManager             = featureManager;
     this.featureChecker             = featureChecker;
     this.permissionManager          = permissionManager;
     this.userNavigationManager      = userNavigationManager;
     this.settingDefinitionManager   = settingDefinitionManager;
     this.settingManager             = settingManager;
     studioXAntiForgeryConfiguration = antiForgeryConfiguration;
     studioXSession         = session;
     this.permissionChecker = permissionChecker;
 }
コード例 #5
0
        /// <summary>
        ///     Constructor.
        /// </summary>
        public PermissionManager(
            IIocManager iocManager,
            IAuthorizationConfiguration authorizationConfiguration)
        {
            this.iocManager = iocManager;
            this.authorizationConfiguration = authorizationConfiguration;

            StudioXSession = NullStudioXSession.Instance;
        }
コード例 #6
0
        /// <summary>
        /// Gets current User's Id.
        /// Throws <see cref="StudioXException"/> if <see cref="IStudioXSession.UserId"/> is null.
        /// </summary>
        /// <param name="session">Session object.</param>
        /// <returns>Current User's Id.</returns>
        public static long GetUserId(this IStudioXSession session)
        {
            if (!session.UserId.HasValue)
            {
                throw new StudioXException("Session.UserId is null! Probably, user is not logged in.");
            }

            return(session.UserId.Value);
        }
コード例 #7
0
        /// <summary>
        /// Gets current Tenant's Id.
        /// Throws <see cref="StudioXException"/> if <see cref="IStudioXSession.TenantId"/> is null.
        /// </summary>
        /// <param name="session">Session object.</param>
        /// <returns>Current Tenant's Id.</returns>
        /// <exception cref="StudioXException"></exception>
        public static int GetTenantId(this IStudioXSession session)
        {
            if (!session.TenantId.HasValue)
            {
                throw new StudioXException("Session.TenantId is null! Possible problems: No user logged in or current logged in user in a host user (TenantId is always null for host users).");
            }

            return(session.TenantId.Value);
        }
コード例 #8
0
        /// <summary>
        /// Initializes a new instance of the <see cref="DbPerTenantConnectionStringResolver"/> class.
        /// </summary>
        public DbPerTenantConnectionStringResolver(
            IStudioXStartupConfiguration configuration,
            ICurrentUnitOfWorkProvider currentUnitOfWorkProvider,
            ITenantCache tenantCache)
            : base(configuration)
        {
            this.currentUnitOfWorkProvider = currentUnitOfWorkProvider;
            this.tenantCache = tenantCache;

            StudioXSession = NullStudioXSession.Instance;
        }
コード例 #9
0
 public UserNavigationManager(
     INavigationManager navigationManager,
     ILocalizationContext localizationContext,
     IIocResolver iocResolver)
 {
     this.navigationManager   = navigationManager;
     this.localizationContext = localizationContext;
     this.iocResolver         = iocResolver;
     PermissionChecker        = NullPermissionChecker.Instance;
     StudioXSession           = NullStudioXSession.Instance;
 }
コード例 #10
0
 /// <summary>
 ///     Initializes a new instance of the <see cref="NotificationPublisher" /> class.
 /// </summary>
 public NotificationPublisher(
     INotificationStore store,
     IBackgroundJobManager backgroundJobManager,
     INotificationDistributer notificationDistributer,
     IGuidGenerator guidGenerator)
 {
     this.store = store;
     this.backgroundJobManager    = backgroundJobManager;
     this.notificationDistributer = notificationDistributer;
     this.guidGenerator           = guidGenerator;
     StudioXSession = NullStudioXSession.Instance;
 }
コード例 #11
0
        public UserRegistrationManager(
            TenantManager tenantManager,
            UserManager userManager,
            RoleManager roleManager,
            IPasswordHasher <User> passwordHasher)
        {
            this.tenantManager  = tenantManager;
            this.userManager    = userManager;
            this.roleManager    = roleManager;
            this.passwordHasher = passwordHasher;

            StudioXSession = NullStudioXSession.Instance;
        }
コード例 #12
0
 /// <summary>
 /// Initializes a new instance of the <see cref="MultiTenantLocalizationDictionary"/> class.
 /// </summary>
 public MultiTenantLocalizationDictionary(
     string sourceName,
     ILocalizationDictionary internalDictionary,
     IRepository <ApplicationLanguageText, long> customLocalizationRepository,
     ICacheManager cacheManager,
     IStudioXSession session,
     IUnitOfWorkManager unitOfWorkManager)
 {
     this.sourceName                   = sourceName;
     this.internalDictionary           = internalDictionary;
     this.customLocalizationRepository = customLocalizationRepository;
     this.cacheManager                 = cacheManager;
     this.session           = session;
     this.unitOfWorkManager = unitOfWorkManager;
 }
コード例 #13
0
        public static bool IsUser(this IStudioXSession session, StudioXUserBase user)
        {
            if (session == null)
            {
                throw new ArgumentNullException(nameof(session));
            }

            if (user == null)
            {
                throw new ArgumentNullException(nameof(user));
            }

            return(session.TenantId == user.TenantId &&
                   session.UserId.HasValue &&
                   session.UserId.Value == user.Id);
        }
コード例 #14
0
 public NavigationScriptManager(IUserNavigationManager userNavigationManager)
 {
     this.userNavigationManager = userNavigationManager;
     StudioXSession             = NullStudioXSession.Instance;
 }
コード例 #15
0
 public SessionScriptManager()
 {
     StudioXSession = NullStudioXSession.Instance;
 }
コード例 #16
0
        /// <summary>
        /// Constructor.
        /// </summary>
        public ApplicationLanguageProvider(IApplicationLanguageManager applicationLanguageManager)
        {
            this.applicationLanguageManager = applicationLanguageManager;

            StudioXSession = NullStudioXSession.Instance;
        }
コード例 #17
0
 public MultiTenancyTestController(IStudioXSession session)
 {
     studioXSession = session;
 }
コード例 #18
0
 /// <summary>
 /// Creates <see cref="UserIdentifier"/> from given session.
 /// Returns null if <see cref="IStudioXSession.UserId"/> is null.
 /// </summary>
 /// <param name="session">The session.</param>
 public static UserIdentifier ToUserIdentifier(this IStudioXSession session)
 {
     return(session.UserId == null
         ? null
         : new UserIdentifier(session.TenantId, session.GetUserId()));
 }
コード例 #19
0
 public SessionTests()
 {
     Resolve <IMultiTenancyConfig>().IsEnabled = true;
     session = Resolve <IStudioXSession>();
 }
コード例 #20
0
 public RebusRabbitMqPublisher(IBus bus)
 {
     this.bus       = bus;
     Logger         = NullLogger.Instance;
     StudioXSession = NullStudioXSession.Instance;
 }