Beispiel #1
0
 public EntityTagManager_Tests()
 {
     _cmsKitTestData   = GetRequiredService <CmsKitTestData>();
     _entityTagManager = GetRequiredService <EntityTagManager>();
     _tagRepository    = GetRequiredService <ITagRepository>();
     _guidGenerator    = GetRequiredService <IGuidGenerator>();
 }
        public virtual async Task SetEntityTagsAsync(EntityTagSetDto input)
        {
            var definition = await TagDefinitionStore.GetTagEntityTypeDefinitionAsync(input.EntityType);

            await CheckPolicyAsync(definition.UpdatePolicy);

            await EntityTagManager.SetEntityTagsAsync(input.EntityType, input.EntityId, input.Tags);
        }
Beispiel #3
0
 public CmsKitDataSeedContributor(
     IGuidGenerator guidGenerator,
     ICmsUserRepository cmsUserRepository,
     CmsKitTestData cmsKitTestData,
     ICommentRepository commentRepository,
     ReactionManager reactionManager,
     IRatingRepository ratingRepository,
     ICurrentTenant currentTenant,
     TagManager tagManager,
     ITagRepository tagRepository,
     IEntityTagRepository entityTagRepository,
     IPageRepository pageRepository,
     IBlogRepository blogRepository,
     IBlogPostRepository blogPostRepository,
     BlogPostManager blogPostmanager,
     IBlogFeatureRepository blogFeatureRepository,
     EntityTagManager entityTagManager,
     IOptions <CmsKitReactionOptions> reactionOptions,
     IOptions <CmsKitTagOptions> tagOptions,
     IMediaDescriptorRepository mediaDescriptorRepository,
     IBlobContainer <MediaContainer> mediaBlobContainer,
     BlogManager blogManager,
     IOptions <CmsKitMediaOptions> cmsMediaOptions,
     IOptions <CmsKitCommentOptions> commentsOptions,
     IOptions <CmsKitRatingOptions> ratingOptions,
     IMenuItemRepository menuItemRepository)
 {
     _guidGenerator             = guidGenerator;
     _cmsUserRepository         = cmsUserRepository;
     _cmsKitTestData            = cmsKitTestData;
     _commentRepository         = commentRepository;
     _reactionManager           = reactionManager;
     _ratingRepository          = ratingRepository;
     _currentTenant             = currentTenant;
     _tagManager                = tagManager;
     _tagRepository             = tagRepository;
     _entityTagManager          = entityTagManager;
     _entityTagRepository       = entityTagRepository;
     _pageRepository            = pageRepository;
     _blogRepository            = blogRepository;
     _blogPostRepository        = blogPostRepository;
     _blogPostManager           = blogPostmanager;
     _blogFeatureRepository     = blogFeatureRepository;
     _reactionOptions           = reactionOptions;
     _tagOptions                = tagOptions;
     _mediaDescriptorRepository = mediaDescriptorRepository;
     _mediaBlobContainer        = mediaBlobContainer;
     _blogManager               = blogManager;
     _mediaOptions              = cmsMediaOptions;
     _commentsOptions           = commentsOptions;
     _ratingOptions             = ratingOptions;
     _menuItemRepository        = menuItemRepository;
 }
        public virtual async Task RemoveTagFromEntityAsync(EntityTagRemoveDto input)
        {
            var definition = await TagDefinitionStore.GetTagEntityTypeDefinitionAsync(input.EntityType);

            await CheckPolicyAsync(definition.DeletePolicy);

            await EntityTagManager.RemoveTagFromEntityAsync(
                input.TagId,
                input.EntityType,
                input.EntityId,
                CurrentTenant?.Id);
        }
 public EntityTagAdminAppService(
     ITagDefinitionStore tagDefinitionStore,
     EntityTagManager entityTagManager,
     TagManager tagManager,
     ITagRepository tagRepository,
     IEntityTagRepository entityTagRepository)
 {
     TagDefinitionStore  = tagDefinitionStore;
     EntityTagManager    = entityTagManager;
     TagManager          = tagManager;
     TagRepository       = tagRepository;
     EntityTagRepository = entityTagRepository;
 }
        public virtual async Task AddTagToEntityAsync(EntityTagCreateDto input)
        {
            var definition = await TagDefinitionStore.GetTagEntityTypeDefinitionAsync(input.EntityType);

            await CheckPolicyAsync(definition.CreatePolicy);

            var tag = await TagManager.GetOrAddAsync(input.EntityType, input.TagName);

            await EntityTagManager.AddTagToEntityAsync(
                tag.Id,
                input.EntityType,
                input.EntityId,
                CurrentTenant?.Id);
        }
Beispiel #7
0
        public virtual async Task SetEntityTagsAsync(EntityTagSetDto input)
        {
            var definition = await TagDefinitionStore.GetTagEntityTypeDefinitionsAsync(input.EntityType);

            await CheckPolicyAsync(definition.UpdatePolicy);

            var existingTags =
                await TagRepository.GetAllRelatedTagsAsync(input.EntityType, input.EntityId, CurrentTenant?.Id);

            var deletedTags = existingTags.Where(x => !input.Tags.Contains(x.Name)).ToList();
            var addedTags   = input.Tags.Where(x => !existingTags.Any(a => a.Name == x));

            await EntityTagRepository.DeleteManyAsync(deletedTags.Select(s => s.Id).ToArray());

            foreach (var addedTag in addedTags)
            {
                var tag = await TagManager.GetOrAddAsync(input.EntityType, addedTag, CurrentTenant?.Id);

                await EntityTagManager.AddTagToEntityAsync(tag.Id, input.EntityType, input.EntityId, CurrentTenant?.Id);
            }
        }
 public MongoBlogPostRepository(IMongoDbContextProvider <CmsKitMongoDbContext> dbContextProvider, EntityTagManager entityTagManager) : base(
         dbContextProvider)
 {
     _entityTagManager = entityTagManager;
 }
Beispiel #9
0
 public EfCoreBlogPostRepository(
     IDbContextProvider <CmsKitDbContext> dbContextProvider,
     EntityTagManager entityTagManager) : base(dbContextProvider)
 {
     _entityTagManager = entityTagManager;
 }