/// <summary> /// Get the settings which correspond to a configuration section name. /// </summary> /// <param name="configurationSectionName">The name of the configuraton section.</param> public Settings Get(string configurationSectionName) { if (configurationSectionName == null) { throw new ArgumentNullException(nameof(configurationSectionName)); } return(settingsCache.Get(configurationSectionName)); }
public void ReleaseService( TisServiceKey oServiceKey, ITisServiceInfo serviceInfo = null, object oService = null) { if (oService == null && IsInstantiated(oServiceKey)) { oService = m_oCreatorsCache.Get(oServiceKey); } if (oService != null) { // Obtain service creator ITisServiceCreator oCreator = GetCreator(oServiceKey); oCreator.ReleaseService(oService); } }
/// <summary> /// Get a registered storage provider. /// </summary> /// <param name="providerName">The name under which the provider is registered or null for the default.</param> /// <returns>Returns the requested storage provider.</returns> public Storage.IStorageProvider GetStorageProvider(string providerName = null) { if (providerName == null) { providerName = String.Empty; } return(storageProvidersCache.Get(providerName)); }
/// <summary> /// Get the combined access right of a set of disposition types. /// </summary> /// <param name="dispositionTypes">The set of disposition types.</param> /// <returns>Returns the combined access right.</returns> public AccessRight GetAccessRightOfDispositionTypes(IEnumerable <DispositionType> dispositionTypes) { if (dispositionTypes == null) { throw new ArgumentNullException(nameof(dispositionTypes)); } var dispositionTypeCodeNames = new EquatableReadOnlyBag <string>(dispositionTypes.Select(dt => dt.CodeName)); return(dispositionTypesAccessRightsCache.Get(dispositionTypeCodeNames)); }
/// <summary> /// Get the access right derived from the user's roles, /// including those speified in <see cref="User.Roles"/> proeprty of the <see cref="User"/> /// and those implied by <see cref="PermissionsSetup.DefaultRolesForAuthenticated"/> /// or <see cref="PermissionsSetup.DefaultRolesForAnonymous"/>. /// </summary> /// <param name="user">The user whose set of specified and implied roles to check.</param> /// <returns>Returns the combined access right.</returns> private AccessRight GetRolesAccessRight(U user) { if (user == null) { throw new ArgumentNullException(nameof(user)); } if (user.RegistrationStatus == RegistrationStatus.Revoked) { return(nullAccessRight); } // Combine default roles and user roles. IReadOnlyList <string> defaultRoleCodeNames; if (user.IsAnonymous) { defaultRoleCodeNames = lazyAccessMapper.Value.DefaultRolesForAnonymous; } else { defaultRoleCodeNames = lazyAccessMapper.Value.DefaultRolesForAuthenticated; } string[] roleCodeNames = new string[user.Roles.Count + defaultRoleCodeNames.Count]; int i = 0; // Add default roles. for (i = 0; i < defaultRoleCodeNames.Count; i++) { roleCodeNames[i] = defaultRoleCodeNames[i]; } // Add user roles. foreach (var role in user.Roles) { roleCodeNames[i++] = role.CodeName; } return(rolesAccessRightsCache.Get(new EquatableReadOnlyBag <string>(roleCodeNames))); }
/// <summary> /// Obtain <see cref="ActionExecutionModelMetadata"/> /// for an instance derived from <see cref="ActionExecutionModel"/>. /// </summary> /// <param name="metadataProvider">The metadata provider to </param> /// <param name="metadataDetailsProvider"></param> /// <param name="actionExecutionModel"></param> /// <returns>Returns the model metadata.</returns> public static ActionExecutionModelMetadata GetMetadata( IModelMetadataProvider metadataProvider, ICompositeMetadataDetailsProvider metadataDetailsProvider, ActionExecutionModel actionExecutionModel) { if (metadataProvider == null) { throw new ArgumentNullException(nameof(metadataProvider)); } if (metadataDetailsProvider == null) { throw new ArgumentNullException(nameof(metadataDetailsProvider)); } if (actionExecutionModel == null) { throw new ArgumentNullException(nameof(actionExecutionModel)); } var key = new ActionExecutionModelMetadataKey(actionExecutionModel, metadataProvider, metadataDetailsProvider); return(metadataCache.Get(key)); }