* Run code cleanup * Start manual cleanup after dotnet format * Finish up manual pass * Fix up missed warnings * Fix after merge * Update src/Umbraco.Core/Cache/ContentTypeCacheRefresher.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Cache/DataTypeCacheRefresher.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Cache/DeepCloneAppCache.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Cache/DomainCacheRefresher.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Cache/FastDictionaryAppCacheBase.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Cache/FastDictionaryAppCacheBase.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Cache/FastDictionaryAppCacheBase.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Cache/FastDictionaryAppCacheBase.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Cache/FastDictionaryAppCacheBase.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Cache/MacroCacheRefresher.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Cache/MediaCacheRefresher.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Cache/MemberCacheRefresher.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Cache/MemberGroupCacheRefresher.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Composing/OrderedCollectionBuilderBase.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Configuration/Models/RequestHandlerSettings.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Composing/SetCollectionBuilderBase.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Composing/WeightedCollectionBuilderBase.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/ContentApps/ContentAppFactoryCollectionBuilder.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Dashboards/DashboardCollectionBuilder.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Extensions/StringExtensions.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Extensions/StringExtensions.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Extensions/StringExtensions.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Extensions/StringExtensions.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Extensions/StringExtensions.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Extensions/StringExtensions.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Extensions/StringExtensions.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Notifications/ContentTypeRefreshedNotification.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Notifications/ContentTypeSavedNotification.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Notifications/ContentTypeSavingNotification.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Notifications/DictionaryCacheRefresherNotification.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Notifications/DataTypeCacheRefresherNotification.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Notifications/ContentUnpublishingNotification.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Notifications/DictionaryItemDeletingNotification.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Notifications/DictionaryItemSavedNotification.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Notifications/DictionaryItemSavingNotification.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Notifications/DomainCacheRefresherNotification.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Notifications/LanguageCacheRefresherNotification.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Notifications/MacroCacheRefresherNotification.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Notifications/MediaCacheRefresherNotification.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Notifications/MediaEmptiedRecycleBinNotification.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Notifications/MediaEmptyingRecycleBinNotification.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Notifications/MediaMovedNotification.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Notifications/MediaMovedToRecycleBinNotification.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Extensions/StringExtensions.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Extensions/StringExtensions.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Extensions/StringExtensions.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Extensions/StringExtensions.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Extensions/StringExtensions.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Extensions/StringExtensions.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Notifications/MediaMovedToRecycleBinNotification.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Notifications/MediaMovingNotification.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Notifications/MediaMovingToRecycleBinNotification.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Notifications/MediaTreeChangeNotification.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Notifications/MediaTreeChangeNotification.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Notifications/MediaTypeChangedNotification.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Notifications/MediaTypeDeletingNotification.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Notifications/MediaTypeMovedNotification.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Notifications/MediaTypeMovingNotification.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Notifications/MediaTypeMovingNotification.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Notifications/MediaTypeRefreshedNotification.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Notifications/MemberCacheRefresherNotification.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Notifications/MemberGroupCacheRefresherNotification.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Notifications/MemberGroupDeletingNotification.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Notifications/MemberGroupSavedNotification.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Notifications/MemberGroupSavingNotification.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Notifications/MemberTypeChangedNotification.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Notifications/MemberTypeDeletedNotification.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Notifications/MemberTypeDeletingNotification.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Notifications/MemberTypeMovedNotification.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Notifications/MemberTypeMovedNotification.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Notifications/MemberTypeMovingNotification.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Notifications/MemberTypeMovingNotification.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Notifications/MemberTypeRefreshedNotification.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Notifications/MemberTypeSavingNotification.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Extensions/StringExtensions.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Extensions/UriExtensions.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Notifications/MovedToRecycleBinNotification.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Notifications/MovedToRecycleBinNotification.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Notifications/MovingToRecycleBinNotification.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Notifications/MovingToRecycleBinNotification.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Notifications/PartialViewDeletingNotification.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Extensions/UriExtensions.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/IO/PhysicalFileSystem.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/IO/PhysicalFileSystem.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/IO/ShadowWrapper.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Logging/DisposableTimer.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Install/InstallSteps/UpgradeStep.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Mapping/MapDefinitionCollectionBuilder.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Media/EmbedProviders/EmbedProvidersCollectionBuilder.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Notifications/PartialViewSavedNotification.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Models/ContentEditing/ContentVariationDisplay.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Notifications/PartialViewSavingNotification.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Notifications/PublicAccessCacheRefresherNotification.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Notifications/PublicAccessEntryDeletedNotification.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Notifications/PublicAccessEntryDeletingNotification.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Notifications/PublicAccessEntryDeletingNotification.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Notifications/PublicAccessEntrySavedNotification.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Notifications/PublicAccessEntrySavingNotification.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Notifications/PublicAccessEntrySavingNotification.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Notifications/RelationTypeCacheRefresherNotification.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Notifications/RelationTypeDeletingNotification.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Notifications/RelationTypeSavedNotification.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Notifications/RelationTypeSavingNotification.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Notifications/StatefulNotification.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Notifications/StylesheetDeletingNotification.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Notifications/StylesheetSavingNotification.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Models/DeepCloneHelper.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Models/File.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Models/PropertyGroupExtensions.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Update src/Umbraco.Core/Models/PropertyGroupExtensions.cs Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> * Fix based on review * Fix after merge Signed-off-by: Zeegaan <nge@umbraco.dk> Co-authored-by: Nikolaj Geisle <niko737@edu.ucl.dk> Co-authored-by: Mole <nikolajlauridsen@protonmail.ch> Co-authored-by: Zeegaan <nge@umbraco.dk>
302 lines
12 KiB
C#
302 lines
12 KiB
C#
namespace Umbraco.Cms.Core.Services;
|
|
|
|
/// <summary>
|
|
/// Represents the Umbraco Service context, which provides access to all services.
|
|
/// </summary>
|
|
public class ServiceContext
|
|
{
|
|
private readonly Lazy<IAuditService>? _auditService;
|
|
private readonly Lazy<IConsentService>? _consentService;
|
|
private readonly Lazy<IContentService>? _contentService;
|
|
private readonly Lazy<IContentTypeBaseServiceProvider>? _contentTypeBaseServiceProvider;
|
|
private readonly Lazy<IContentTypeService>? _contentTypeService;
|
|
private readonly Lazy<IDataTypeService>? _dataTypeService;
|
|
private readonly Lazy<IDomainService>? _domainService;
|
|
private readonly Lazy<IEntityService>? _entityService;
|
|
private readonly Lazy<IExternalLoginService>? _externalLoginService;
|
|
private readonly Lazy<IFileService>? _fileService;
|
|
private readonly Lazy<IKeyValueService>? _keyValueService;
|
|
private readonly Lazy<ILocalizationService>? _localizationService;
|
|
private readonly Lazy<ILocalizedTextService>? _localizedTextService;
|
|
private readonly Lazy<IMacroService>? _macroService;
|
|
private readonly Lazy<IMediaService>? _mediaService;
|
|
private readonly Lazy<IMediaTypeService>? _mediaTypeService;
|
|
private readonly Lazy<IMemberGroupService>? _memberGroupService;
|
|
private readonly Lazy<IMemberService>? _memberService;
|
|
private readonly Lazy<IMemberTypeService>? _memberTypeService;
|
|
private readonly Lazy<INotificationService>? _notificationService;
|
|
private readonly Lazy<IPackagingService>? _packagingService;
|
|
private readonly Lazy<IPublicAccessService>? _publicAccessService;
|
|
private readonly Lazy<IRedirectUrlService>? _redirectUrlService;
|
|
private readonly Lazy<IRelationService>? _relationService;
|
|
private readonly Lazy<IServerRegistrationService>? _serverRegistrationService;
|
|
private readonly Lazy<ITagService>? _tagService;
|
|
private readonly Lazy<IUserService>? _userService;
|
|
|
|
/// <summary>
|
|
/// Initializes a new instance of the <see cref="ServiceContext" /> class with lazy services.
|
|
/// </summary>
|
|
public ServiceContext(
|
|
Lazy<IPublicAccessService>? publicAccessService,
|
|
Lazy<IDomainService>? domainService,
|
|
Lazy<IAuditService>? auditService,
|
|
Lazy<ILocalizedTextService>? localizedTextService,
|
|
Lazy<ITagService>? tagService,
|
|
Lazy<IContentService>? contentService,
|
|
Lazy<IUserService>? userService,
|
|
Lazy<IMemberService>? memberService,
|
|
Lazy<IMediaService>? mediaService,
|
|
Lazy<IContentTypeService>? contentTypeService,
|
|
Lazy<IMediaTypeService>? mediaTypeService,
|
|
Lazy<IDataTypeService>? dataTypeService,
|
|
Lazy<IFileService>? fileService,
|
|
Lazy<ILocalizationService>? localizationService,
|
|
Lazy<IPackagingService>? packagingService,
|
|
Lazy<IServerRegistrationService>? serverRegistrationService,
|
|
Lazy<IEntityService>? entityService,
|
|
Lazy<IRelationService>? relationService,
|
|
Lazy<IMacroService>? macroService,
|
|
Lazy<IMemberTypeService>? memberTypeService,
|
|
Lazy<IMemberGroupService>? memberGroupService,
|
|
Lazy<INotificationService>? notificationService,
|
|
Lazy<IExternalLoginService>? externalLoginService,
|
|
Lazy<IRedirectUrlService>? redirectUrlService,
|
|
Lazy<IConsentService>? consentService,
|
|
Lazy<IKeyValueService>? keyValueService,
|
|
Lazy<IContentTypeBaseServiceProvider>? contentTypeBaseServiceProvider)
|
|
{
|
|
_publicAccessService = publicAccessService;
|
|
_domainService = domainService;
|
|
_auditService = auditService;
|
|
_localizedTextService = localizedTextService;
|
|
_tagService = tagService;
|
|
_contentService = contentService;
|
|
_userService = userService;
|
|
_memberService = memberService;
|
|
_mediaService = mediaService;
|
|
_contentTypeService = contentTypeService;
|
|
_mediaTypeService = mediaTypeService;
|
|
_dataTypeService = dataTypeService;
|
|
_fileService = fileService;
|
|
_localizationService = localizationService;
|
|
_packagingService = packagingService;
|
|
_serverRegistrationService = serverRegistrationService;
|
|
_entityService = entityService;
|
|
_relationService = relationService;
|
|
_macroService = macroService;
|
|
_memberTypeService = memberTypeService;
|
|
_memberGroupService = memberGroupService;
|
|
_notificationService = notificationService;
|
|
_externalLoginService = externalLoginService;
|
|
_redirectUrlService = redirectUrlService;
|
|
_consentService = consentService;
|
|
_keyValueService = keyValueService;
|
|
_contentTypeBaseServiceProvider = contentTypeBaseServiceProvider;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Gets the <see cref="IPublicAccessService" />
|
|
/// </summary>
|
|
public IPublicAccessService? PublicAccessService => _publicAccessService?.Value;
|
|
|
|
/// <summary>
|
|
/// Gets the <see cref="IDomainService" />
|
|
/// </summary>
|
|
public IDomainService? DomainService => _domainService?.Value;
|
|
|
|
/// <summary>
|
|
/// Gets the <see cref="IAuditService" />
|
|
/// </summary>
|
|
public IAuditService? AuditService => _auditService?.Value;
|
|
|
|
/// <summary>
|
|
/// Gets the <see cref="ILocalizedTextService" />
|
|
/// </summary>
|
|
public ILocalizedTextService? TextService => _localizedTextService?.Value;
|
|
|
|
/// <summary>
|
|
/// Gets the <see cref="INotificationService" />
|
|
/// </summary>
|
|
public INotificationService? NotificationService => _notificationService?.Value;
|
|
|
|
/// <summary>
|
|
/// Gets the <see cref="ServerRegistrationService" />
|
|
/// </summary>
|
|
public IServerRegistrationService? ServerRegistrationService => _serverRegistrationService?.Value;
|
|
|
|
/// <summary>
|
|
/// Gets the <see cref="ITagService" />
|
|
/// </summary>
|
|
public ITagService? TagService => _tagService?.Value;
|
|
|
|
/// <summary>
|
|
/// Gets the <see cref="IMacroService" />
|
|
/// </summary>
|
|
public IMacroService? MacroService => _macroService?.Value;
|
|
|
|
/// <summary>
|
|
/// Gets the <see cref="IEntityService" />
|
|
/// </summary>
|
|
public IEntityService? EntityService => _entityService?.Value;
|
|
|
|
/// <summary>
|
|
/// Gets the <see cref="IRelationService" />
|
|
/// </summary>
|
|
public IRelationService? RelationService => _relationService?.Value;
|
|
|
|
/// <summary>
|
|
/// Gets the <see cref="IContentService" />
|
|
/// </summary>
|
|
public IContentService? ContentService => _contentService?.Value;
|
|
|
|
/// <summary>
|
|
/// Gets the <see cref="IContentTypeService" />
|
|
/// </summary>
|
|
public IContentTypeService? ContentTypeService => _contentTypeService?.Value;
|
|
|
|
/// <summary>
|
|
/// Gets the <see cref="IMediaTypeService" />
|
|
/// </summary>
|
|
public IMediaTypeService? MediaTypeService => _mediaTypeService?.Value;
|
|
|
|
/// <summary>
|
|
/// Gets the <see cref="IDataTypeService" />
|
|
/// </summary>
|
|
public IDataTypeService? DataTypeService => _dataTypeService?.Value;
|
|
|
|
/// <summary>
|
|
/// Gets the <see cref="IFileService" />
|
|
/// </summary>
|
|
public IFileService? FileService => _fileService?.Value;
|
|
|
|
/// <summary>
|
|
/// Gets the <see cref="ILocalizationService" />
|
|
/// </summary>
|
|
public ILocalizationService? LocalizationService => _localizationService?.Value;
|
|
|
|
/// <summary>
|
|
/// Gets the <see cref="IMediaService" />
|
|
/// </summary>
|
|
public IMediaService? MediaService => _mediaService?.Value;
|
|
|
|
/// <summary>
|
|
/// Gets the <see cref="PackagingService" />
|
|
/// </summary>
|
|
public IPackagingService? PackagingService => _packagingService?.Value;
|
|
|
|
/// <summary>
|
|
/// Gets the <see cref="UserService" />
|
|
/// </summary>
|
|
public IUserService? UserService => _userService?.Value;
|
|
|
|
/// <summary>
|
|
/// Gets the <see cref="MemberService" />
|
|
/// </summary>
|
|
public IMemberService? MemberService => _memberService?.Value;
|
|
|
|
/// <summary>
|
|
/// Gets the MemberTypeService
|
|
/// </summary>
|
|
public IMemberTypeService? MemberTypeService => _memberTypeService?.Value;
|
|
|
|
/// <summary>
|
|
/// Gets the MemberGroupService
|
|
/// </summary>
|
|
public IMemberGroupService? MemberGroupService => _memberGroupService?.Value;
|
|
|
|
/// <summary>
|
|
/// Gets the ExternalLoginService.
|
|
/// </summary>
|
|
public IExternalLoginService? ExternalLoginService => _externalLoginService?.Value;
|
|
|
|
/// <summary>
|
|
/// Gets the RedirectUrlService.
|
|
/// </summary>
|
|
public IRedirectUrlService? RedirectUrlService => _redirectUrlService?.Value;
|
|
|
|
/// <summary>
|
|
/// Gets the ConsentService.
|
|
/// </summary>
|
|
public IConsentService? ConsentService => _consentService?.Value;
|
|
|
|
/// <summary>
|
|
/// Gets the KeyValueService.
|
|
/// </summary>
|
|
public IKeyValueService? KeyValueService => _keyValueService?.Value;
|
|
|
|
/// <summary>
|
|
/// Gets the ContentTypeServiceBaseFactory.
|
|
/// </summary>
|
|
public IContentTypeBaseServiceProvider? ContentTypeBaseServices => _contentTypeBaseServiceProvider?.Value;
|
|
|
|
/// <summary>
|
|
/// Creates a partial service context with only some services (for tests).
|
|
/// </summary>
|
|
/// <remarks>
|
|
/// <para>Using a true constructor for this confuses DI containers.</para>
|
|
/// </remarks>
|
|
public static ServiceContext CreatePartial(
|
|
IContentService? contentService = null,
|
|
IMediaService? mediaService = null,
|
|
IContentTypeService? contentTypeService = null,
|
|
IMediaTypeService? mediaTypeService = null,
|
|
IDataTypeService? dataTypeService = null,
|
|
IFileService? fileService = null,
|
|
ILocalizationService? localizationService = null,
|
|
IPackagingService? packagingService = null,
|
|
IEntityService? entityService = null,
|
|
IRelationService? relationService = null,
|
|
IMemberGroupService? memberGroupService = null,
|
|
IMemberTypeService? memberTypeService = null,
|
|
IMemberService? memberService = null,
|
|
IUserService? userService = null,
|
|
ITagService? tagService = null,
|
|
INotificationService? notificationService = null,
|
|
ILocalizedTextService? localizedTextService = null,
|
|
IAuditService? auditService = null,
|
|
IDomainService? domainService = null,
|
|
IMacroService? macroService = null,
|
|
IPublicAccessService? publicAccessService = null,
|
|
IExternalLoginService? externalLoginService = null,
|
|
IServerRegistrationService? serverRegistrationService = null,
|
|
IRedirectUrlService? redirectUrlService = null,
|
|
IConsentService? consentService = null,
|
|
IKeyValueService? keyValueService = null,
|
|
IContentTypeBaseServiceProvider? contentTypeBaseServiceProvider = null)
|
|
{
|
|
Lazy<T>? Lazy<T>(T? service)
|
|
{
|
|
return service == null ? null : new Lazy<T>(() => service);
|
|
}
|
|
|
|
return new ServiceContext(
|
|
Lazy(publicAccessService),
|
|
Lazy(domainService),
|
|
Lazy(auditService),
|
|
Lazy(localizedTextService),
|
|
Lazy(tagService),
|
|
Lazy(contentService),
|
|
Lazy(userService),
|
|
Lazy(memberService),
|
|
Lazy(mediaService),
|
|
Lazy(contentTypeService),
|
|
Lazy(mediaTypeService),
|
|
Lazy(dataTypeService),
|
|
Lazy(fileService),
|
|
Lazy(localizationService),
|
|
Lazy(packagingService),
|
|
Lazy(serverRegistrationService),
|
|
Lazy(entityService),
|
|
Lazy(relationService),
|
|
Lazy(macroService),
|
|
Lazy(memberTypeService),
|
|
Lazy(memberGroupService),
|
|
Lazy(notificationService),
|
|
Lazy(externalLoginService),
|
|
Lazy(redirectUrlService),
|
|
Lazy(consentService),
|
|
Lazy(keyValueService),
|
|
Lazy(contentTypeBaseServiceProvider));
|
|
}
|
|
}
|