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);
 }