Пример #1
0
        public async Task RefreshMetasAsync(Content content)
        {
            ContentType type = Engine.Settings.Content.GetContentType(content.ContentType);

            if (type == null)
            {
                return;
            }

            foreach (CustomField field in type.CustomFields)
            {
                if (content.HasMeta(field.Name))
                {
                    // ensure it has the correct type.
                    ContentMeta meta = content.GetMeta(field.Name);
                    if (meta.Type != field.Type)
                    {
                        meta.Type = field.Type;
                    }
                }
                else
                {
                    // Add it...
                    content.AddMeta(field.Name, field.Default, field.Type);
                }
            }
            await _db.SaveChangesAsync();

            _eventService.TriggerContentChanged(this);
        }