示例#1
0
        private Task BuildViewModel(TagsPartViewModel model, TagsPart part)
        {
            var settings = GetTagsPartSettings(part);

            model.ContentItem = part.ContentItem;
            model.Show        = part.Show;
            model.Tags        = part.Tags;
            model.TagsPart    = part;
            model.Settings    = settings;

            return(Task.CompletedTask);
        }
示例#2
0
        // private TagsPartSettings GetSettings(TagsPart tagsPart)
        // {
        //     var contentTypeDefinition = _contentDefinitionManager.GetTypeDefinition(tagsPart.ContentItem.ContentType);
        //     var contentTypePartDefinition = contentTypeDefinition.Parts.FirstOrDefault(x => String.Equals(x.PartDefinition.Name, nameof(TagsPart), StringComparison.Ordinal));
        //     return contentTypePartDefinition?.GetSettings<TagsPartSettings>();
        // }

        public override async Task <IDisplayResult> UpdateAsync(TagsPart model, IUpdateModel updater, UpdatePartEditorContext context)
        {
            var viewModel = new TagsPartViewModel();

            viewModel.Tags = model.Tags;

            await updater.TryUpdateModelAsync(viewModel, Prefix, t => t.Tags);

            //   var settings = context.TypePartDefinition.GetSettings<TagsPartSettings>();// GetSettings(model);

            await updater.TryUpdateModelAsync(model, Prefix, t => t.Tags);

            //await ValidateAsync(model, updater);

            return(Edit(model));
        }
示例#3
0
        public override async Task PublishedAsync(PublishContentContext context, TagsPart part)
        {
            //synchronize tags to the global list
            var site = await _siteService.GetSiteSettingsAsync();

            var globalTags = site.As <TagsSettings>();

            var vm = new TagsPartViewModel();

            vm.Tags = part.Tags;

            foreach (string tag in vm.TagsCollection)
            {
                if (!globalTags.Tags.ToLower().Contains(tag.ToLower()))
                {
                    globalTags.Tags += "," + tag;
                    site.Properties["TagsSettings"] = JObject.FromObject(globalTags);
                }
            }

            await _siteService.UpdateSiteSettingsAsync(site);
        }