Esempio n. 1
0
        public async Task <ContentProvider <TEntry> > CreateContentAsync <TCustomModel>(TEntry entry, CancellationToken cancellationToken = default)
            where TCustomModel : TModel
        {
            if (entry == null)
            {
                throw new ArgumentNullException(nameof(entry));
            }

            var customContentMetadataProvider = contentMetadataManager.GetMetadata <TModel>();
            var model       = customContentMetadataProvider.CreateModelInstance();
            var contentData = customContentMetadataProvider.ConvertContentModelToDictionary(model);

            await store.SetContentAsync(entry, contentData, cancellationToken);

            customContentMetadataProvider.ApplyInjections(model, services, true);

            return(ContentProvider <TEntry> .Create(entry, model, services));
        }
Esempio n. 2
0
        public async Task <ContentProvider <TEntry> > GetContentAsync(TEntry entry, CancellationToken cancellationToken = default)
        {
            if (entry == null)
            {
                throw new ArgumentNullException(nameof(entry));
            }

            var contentData = await store.GetContentDataAsync(entry, cancellationToken);

            if (contentData == null)
            {
                return(null);
            }

            var model = contentMetadataManager.ConvertDictionaryToContentModel(contentData);

            contentMetadataManager.ApplyInjections(model, services, true);

            return(ContentProvider <TEntry> .Create(entry, model, services));
        }