/// <summary> /// Called during cache miss in <see cref="dispositionTypesAccessRightsCache"/>. /// </summary> /// <param name="dispositionTypeCodeNames">The set of disposition type code names as the missed key.</param> /// <returns>Returns the combined access right.</returns> private AccessRight CombineAccessRightOfDispositionTypes(EquatableReadOnlyBag <string> dispositionTypeCodeNames) { if (dispositionTypeCodeNames == null) { throw new ArgumentNullException(nameof(dispositionTypeCodeNames)); } var accessMapper = lazyAccessMapper.Value; return(CombineAccessRights(accessMapper.DispositionTypesAccessRightsByCodeName, dispositionTypeCodeNames)); }
/// <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)); }