Пример #1
0
        public override Task InitializingAsync(InitializingContentContext context, DisqusPart part)
        {
            // By default Comments are shown.
            part.ShowComments = true;

            return(Task.CompletedTask);
        }
        public override Task InitializingAsync(InitializingContentContext context, GraphSyncPart part)
        {
            //todo: why not in template code?
            part.Apply();

            return(Task.CompletedTask);
        }
Пример #3
0
 void IContentHandler.Initialized(InitializingContentContext context)
 {
     if (context.ContentItem.Is <TPart>())
     {
         Initialized(context, context.ContentItem.As <TPart>());
     }
 }
Пример #4
0
        public override void Initializing(InitializingContentContext context)
        {
            var fieldInfos = _drivers.SelectMany(x => x.GetFieldInfo()).ToArray();
            var parts      = context.ContentItem.Parts;

            foreach (var contentPart in parts)
            {
                foreach (var partFieldDefinition in contentPart.PartDefinition.Fields)
                {
                    var fieldTypeName = partFieldDefinition.FieldDefinition.Name;
                    var fieldInfo     = fieldInfos.FirstOrDefault(x => x.FieldTypeName == fieldTypeName);
                    if (fieldInfo != null)
                    {
                        var storage = _fieldStorageProviderSelector
                                      .GetProvider(partFieldDefinition)
                                      .BindStorage(contentPart, partFieldDefinition);

                        storage = new FieldStorageEventStorage(storage, partFieldDefinition, contentPart, _fieldStorageEvents);

                        var field = fieldInfo.Factory(partFieldDefinition, storage);
                        contentPart.Weld(field);
                    }
                }
            }
        }
Пример #5
0
 void IContentPartHandler.Initialized(InitializingContentContext context, ContentPart part)
 {
     if (part is TPart)
     {
         Initialized(context, (TPart)part);
     }
 }
Пример #6
0
 void IContentStorageFilter.Initialized(InitializingContentContext context)
 {
     if (context.ContentItem.Is <TPart>())
     {
         Initialized(context, context.ContentItem.As <TPart>());
     }
 }
Пример #7
0
        public override void Initializing(InitializingContentContext context)
        {
            var contentTypeDefinition = _contentDefinitionManager.GetTypeDefinition(context.ContentType);

            if (contentTypeDefinition == null)
            {
                return;
            }

            var fieldInfos = _fieldDrivers.Select(cpp => cpp.GetFieldInfo()).ToArray();

            foreach (var typePartDefinition in contentTypeDefinition.Parts)
            {
                var partName = typePartDefinition.PartDefinition.Name;
                foreach (var partFieldDefinition in typePartDefinition.PartDefinition.Fields)
                {
                    var fieldTypeName = partFieldDefinition.FieldDefinition.Name;
                    var fieldInfo     = fieldInfos.FirstOrDefault(x => x.FieldTypeName == fieldTypeName);
                    if (fieldInfo != null)
                    {
                        var field     = fieldInfo.Factory(partFieldDefinition);
                        var fieldName = partFieldDefinition.Name;
                        context.ContentItem.Get(partName).Weld(fieldName, field);
                    }
                }
            }
        }
Пример #8
0
 private static void InitializeSiteSettings(InitializingContentContext initializingContentContext, SiteSettingsPart siteSettingsPart)
 {
     siteSettingsPart.SiteSalt           = Guid.NewGuid().ToString("N");
     siteSettingsPart.SiteName           = "My Orchard Project Application";
     siteSettingsPart.PageTitleSeparator = " - ";
     siteSettingsPart.SiteTimeZone       = TimeZoneInfo.Local.Id;
 }
        public override Task InitializingAsync(InitializingContentContext context, TagsPart part)
        {
            part.Show = true;
            part.Tags = "Hello there";

            return(Task.CompletedTask);
        }
Пример #10
0
        public override void Initializing(InitializingContentContext context)
        {
            var contentTypeDefinition = _contentDefinitionManager.GetTypeDefinition(context.ContentType);

            if (contentTypeDefinition == null)
            {
                return;
            }

            foreach (var typePartDefinition in contentTypeDefinition.Parts)
            {
                var partName = typePartDefinition.PartDefinition.Name;
                var partType = _contentPartFactory.GetContentPartType(partName) ?? typeof(ContentPart);

                var part = context.ContentItem.Get(partType, partName) as ContentPart;
                _partHandlers.Invoke(handler => handler.Initializing(context, part), Logger);

                foreach (var partFieldDefinition in typePartDefinition.PartDefinition.Fields)
                {
                    var fieldTypeName = partFieldDefinition.FieldDefinition.Name;
                    var field         = _contentFieldFactory.CreateContentField(fieldTypeName);

                    if (field != null)
                    {
                        var fieldName = partFieldDefinition.Name;
                        part.Weld(fieldName, field);
                    }
                }

                context.ContentItem.Weld(partName, part);
            }
        }
        public async Task <ContentItem> NewAsync(string contentType)
        {
            var contentTypeDefinition = _contentDefinitionManager.GetTypeDefinition(contentType);

            if (contentTypeDefinition == null)
            {
                contentTypeDefinition = new ContentTypeDefinitionBuilder().Named(contentType).Build();
            }

            // create a new kernel for the model instance
            var context = new ActivatingContentContext
            {
                ContentType = contentTypeDefinition.Name,
                Definition  = contentTypeDefinition,
                Builder     = new ContentItemBuilder(contentTypeDefinition)
            };

            // invoke handlers to weld aspects onto kernel
            await Handlers.InvokeAsync((handler, context) => handler.ActivatingAsync(context), context, _logger);

            var context2 = new ActivatedContentContext(context.Builder.Build());

            context2.ContentItem.ContentItemId = _idGenerator.GenerateUniqueId(context2.ContentItem);

            await ReversedHandlers.InvokeAsync((handler, context2) => handler.ActivatedAsync(context2), context2, _logger);

            var context3 = new InitializingContentContext(context2.ContentItem);

            await Handlers.InvokeAsync((handler, context3) => handler.InitializingAsync(context3), context3, _logger);

            await ReversedHandlers.InvokeAsync((handler, context3) => handler.InitializedAsync(context3), context3, _logger);

            // composite result is returned
            return(context3.ContentItem);
        }
Пример #12
0
 protected void AssignCreatingOwner(InitializingContentContext context, CommonPart part)
 {
     // and use the current user as Owner
     if (part.Record.OwnerId == 0)
     {
         part.Owner = _authenticationService.GetAuthenticatedUser();
     }
 }
Пример #13
0
        protected void AssignCreatingDates(InitializingContentContext context, CommonPart part)
        {
            // assign default create/modified dates
            var utcNow = _clock.UtcNow;

            part.CreatedUtc         = utcNow;
            part.ModifiedUtc        = utcNow;
            part.VersionCreatedUtc  = utcNow;
            part.VersionModifiedUtc = utcNow;
        }
        static void PropertySetHandlers(
            InitializingContentContext context, TerritoryHierarchyPart part)
        {
            part.TerritoriesField.Setter(value => {
                var actualItems         = value.Where(ci => ci.As <TerritoryPart>() != null);
                part.Record.Territories = actualItems.Any() ?
                                          actualItems.Select(ci => ci.As <TerritoryPart>().Record).ToList() :
                                          new List <TerritoryPartRecord>();
                return(actualItems);
            });

            //call the setter in case a value had already been set
            if (part.TerritoriesField.Value != null)
            {
                part.TerritoriesField.Value = part.TerritoriesField.Value;
            }
        }
Пример #15
0
        static void propertySetHandlers(InitializingContentContext context, BingLocationPart part)
        {
            // add handlers that will update records when part properties are set
            part.BingMapListField.Setter(sponsor =>
            {
                part.Record.BingMapList = sponsor == null
                                        ? null
                                        : sponsor.ContentItem.Record;
                return(sponsor);
            });

            // Force call to setter if we had already set a value
            if (part.BingMapListField.Value != null)
            {
                part.BingMapListField.Value = part.BingMapListField.Value;
            }
        }
Пример #16
0
        public override async Task InitializingAsync(InitializingContentContext context)
        {
            var contentTypeDefinition = _contentDefinitionManager.GetTypeDefinition(context.ContentItem.ContentType);

            if (contentTypeDefinition == null)
            {
                return;
            }

            foreach (var typePartDefinition in contentTypeDefinition.Parts)
            {
                var partName  = typePartDefinition.PartDefinition.Name;
                var activator = _contentPartFactory.GetTypeActivator(partName);

                var part = context.ContentItem.Get(activator.Type, typePartDefinition.Name) as ContentPart;
                await _partHandlers.InvokeAsync(async handler => await handler.InitializingAsync(context, part), Logger);
            }
        }
Пример #17
0
        public override void Initializing(InitializingContentContext context)
        {
            var contentTypeDefinition = _contentDefinitionManager.GetTypeDefinition(context.ContentItem.ContentType);

            if (contentTypeDefinition == null)
            {
                return;
            }

            foreach (var typePartDefinition in contentTypeDefinition.Parts)
            {
                var partName = typePartDefinition.PartDefinition.Name;
                var partType = _contentPartFactory.GetContentPartType(partName) ?? typeof(ContentPart);

                var part = context.ContentItem.Get(partType, typePartDefinition.Name) as ContentPart;
                _partHandlers.Invoke(handler => handler.Initializing(context, part), Logger);
            }
        }
        public ContentItem New(string contentType)
        {
            var contentTypeDefinition = _contentDefinitionManager.GetTypeDefinition(contentType);

            if (contentTypeDefinition == null)
            {
                contentTypeDefinition = new ContentTypeDefinitionBuilder().Named(contentType).Build();
            }

            // create a new kernel for the model instance
            var context = new ActivatingContentContext
            {
                ContentType = contentTypeDefinition.Name,
                Definition  = contentTypeDefinition,
                Builder     = new ContentItemBuilder(contentTypeDefinition)
            };

            // invoke handlers to weld aspects onto kernel
            Handlers.Invoke(handler => handler.Activating(context), Logger);

            var context2 = new ActivatedContentContext
            {
                ContentType = contentType,
                ContentItem = context.Builder.Build()
            };

            // back-reference for convenience (e.g. getting metadata when in a view)
            context2.ContentItem.ContentManager = this;

            Handlers.Invoke(handler => handler.Activated(context2), Logger);

            var context3 = new InitializingContentContext
            {
                ContentType = context2.ContentType,
                ContentItem = context2.ContentItem,
            };

            Handlers.Invoke(handler => handler.Initializing(context3), Logger);
            Handlers.Invoke(handler => handler.Initialized(context3), Logger);

            // composite result is returned
            return(context3.ContentItem);
        }
Пример #19
0
        public virtual ContentItem New(string contentType)
        {
            var contentTypeDefinition = _contentDefinitionManager.GetTypeDefinition(contentType);

            if (contentTypeDefinition == null)
            {
                contentTypeDefinition = new ContentTypeDefinitionBuilder().Named(contentType).Build();
            }

            // create a new kernel for the model instance
            var context = new ActivatingContentContext
            {
                ContentType = contentTypeDefinition.Name,
                Definition  = contentTypeDefinition,
                Builder     = new ContentItemBuilder(contentTypeDefinition)
            };

            // invoke handlers to weld aspects onto kernel
            Handlers.Invoke(handler => handler.Activating(context), _logger);

            var context2 = new ActivatedContentContext
            {
                ContentType = contentType,
                ContentItem = context.Builder.Build()
            };

            context2.ContentItem.ContentItemId = (int)_idGenerator.GetNextId();

            Handlers.Invoke(handler => handler.Activated(context2), _logger);

            var context3 = new InitializingContentContext
            {
                ContentType = context2.ContentType,
                ContentItem = context2.ContentItem,
            };

            Handlers.Invoke(handler => handler.Initializing(context3), _logger);
            Handlers.Invoke(handler => handler.Initialized(context3), _logger);

            // composite result is returned
            return(context3.ContentItem);
        }
        static void PropertySetHandlers(
            InitializingContentContext context, TerritoryPart part)
        {
            part.ChildrenField.Setter(value => {
                var actualItems = value
                                  .Where(ci => ci.As <TerritoryPart>() != null);
                part.Record.Children = actualItems.Any() ?
                                       actualItems.Select(ci => ci.As <TerritoryPart>().Record).ToList() :
                                       new List <TerritoryPartRecord>();
                return(actualItems);
            });

            part.HierarchyField.Setter(hierarchy => {
                part.Record.Hierarchy = hierarchy.As <TerritoryHierarchyPart>().Record;
                return(hierarchy);
            });

            part.ParentField.Setter(parent => {
                part.Record.ParentTerritory = parent.As <TerritoryPart>().Record;
                return(parent);
            });

            //call the setters in case a value had already been set
            if (part.ChildrenField.Value != null)
            {
                part.ChildrenField.Value = part.ChildrenField.Value;
            }
            if (part.HierarchyField.Value != null)
            {
                part.HierarchyField.Value = part.HierarchyField.Value;
            }
            if (part.ParentField.Value != null)
            {
                part.ParentField.Value = part.ParentField.Value;
            }
        }
Пример #21
0
 public virtual void Initialized(InitializingContentContext context, TPart instance)
 {
 }
 protected void AssignIdentity(InitializingContentContext context, IdentityPart part)
 {
     part.Identifier = Guid.NewGuid().ToString("n");
 }
Пример #23
0
 private void AssignDefaultValues(InitializingContentContext context, ShapeTracingSiteSettingsPart part)
 {
     part.IsShapeTracingActive = true;
 }
 public static PageContext PageContext(this InitializingContentContext context)
 {
     return(new PageContext(context.ContentItem, context.ContentItem.PageGroup()));
 }
Пример #25
0
        public override Task InitializingAsync(InitializingContentContext context, MyTestPart part)
        {
            part.Show = true;

            return(Task.CompletedTask);
        }
 public virtual void Initialized(InitializingContentContext context) { }
        public override Task InitializingAsync(InitializingContentContext context, ProductPart part)
        {
            // TODO: part initialization goes here.

            return(Task.CompletedTask);
        }
Пример #28
0
 public void Initialized(InitializingContentContext context)
 {
 }
Пример #29
0
 public override void Initializing(InitializingContentContext context, IdentityPart part)
 {
     AssignIdentity(part);
 }
Пример #30
0
 protected virtual void Initialized(InitializingContentContext context, TPart instance)
 {
 }
Пример #31
0
 public virtual void Initializing(InitializingContentContext context)
 {
 }