protected override DriverResult Editor(ContentMenuItemPart part, IUpdateModel updater, dynamic shapeHelper)
        {
            var currentUser = _workContextAccessor.GetContext().CurrentUser;

            if (!_authorizationService.TryCheckAccess(Permissions.ManageMenus, currentUser, part))
            {
                return(null);
            }

            var model = new ContentMenuItemEditViewModel();

            if (updater.TryUpdateModel(model, Prefix, null, null))
            {
                var contentItem = _contentManager.Get(model.ContentItemId, VersionOptions.Latest);
                if (contentItem == null)
                {
                    updater.AddModelError("ContentItemId", T("You must select a Content Item"));
                }
                else
                {
                    part.Content = contentItem;
                }
            }

            return(Editor(part, shapeHelper));
        }
 protected override DriverResult Editor(ContentMenuItemPart part, dynamic shapeHelper)
 {
     return(ContentShape("Parts_ContentMenuItem_Edit",
                         () => {
         var model = new ContentMenuItemEditViewModel {
             ContentItemId = part.Content == null ? -1 : part.Content.Id,
             Part = part
         };
         return shapeHelper.EditorTemplate(TemplateName: "Parts.ContentMenuItem.Edit", Model: model, Prefix: Prefix);
     }));
 }