protected void UpdateModuleTitleIfNecessary(ToSic.Eav.Entity entity, ContentGroupItem groupItem) { // Creating new Context, because EntityTitle gets not refreshed otherwise var sexyContext = new SexyContent(ZoneId, AppId, true); // Get ContentGroup var listContentGroupItem = sexyContext.TemplateContext.GetListContentGroupItem(groupItem.ContentGroupID, UserId); var entityModel = sexyContext.ContentContext.GetEntityModel(entity.EntityID); // If this is the list title, or no list-title exists, set module title if (groupItem.ItemType == ContentGroupItemType.ListContent || (listContentGroupItem == null && groupItem.ItemType == ContentGroupItemType.Content && groupItem.SortOrder == 0) && entityModel.IsPublished) { var languages = Sexy.ContentContext.GetLanguages(); // Find Module for default language var moduleController = new ModuleController(); var originalModule = moduleController.GetModule(ModuleID); // Update Original Module if no languages active if (languages.Count == 0) { // Get Title value of Entitiy in current language string titleValue = entityModel.Title[0].ToString(); originalModule.ModuleTitle = titleValue; moduleController.UpdateModule(originalModule); } foreach (var dimension in languages) { // Get Title value of Entitiy in current language string titleValue = entityModel.Title[dimension.DimensionID].ToString(); if (!originalModule.IsDefaultLanguage) { originalModule = originalModule.DefaultLanguageModule; } // Break if default language module is null if (originalModule == null) { return; } // Find module for given Culture var moduleByCulture = moduleController.GetModuleByCulture(originalModule.ModuleID, originalModule.TabID, PortalId, LocaleController.Instance.GetLocale(dimension.ExternalKey)); // Break if no module found if (moduleByCulture == null) { return; } moduleByCulture.ModuleTitle = titleValue; moduleController.UpdateModule(moduleByCulture); } } }
protected void NewItem_OnInserted(ToSic.Eav.Entity Entity) { ContentGroupItem NewItem; if (Item != null) { NewItem = SexyUncached.TemplateContext.GetContentGroupItem(Item.ContentGroupItemID); } else { NewItem = SexyUncached.AddContentGroupItem(ContentGroupID, UserId, TemplateID, Entity.EntityID, SortOrder, true, ItemType, ItemType != ContentGroupItemType.Content); } NewItem.EntityID = Entity.EntityID; NewItem.SysModified = DateTime.Now; NewItem.SysModifiedBy = UserId; SexyUncached.TemplateContext.SaveChanges(); UpdateModuleTitleIfNecessary(Entity, NewItem); }
protected void NewItem_OnInserted(ToSic.Eav.Entity Entity) { }
protected void EditItem_OnEdited(ToSic.Eav.Entity Entity) { }
protected void EditItem_OnEdited(ToSic.Eav.Entity Entity) { UpdateModuleTitleIfNecessary(Entity, Item); }