protected override DriverResult Editor(ButtonToWorkflowsPart part, IUpdateModel updater, dynamic shapeHelper)
        {
            var bigmodel = new ButtonToWorkflowsVM(part);

            if (updater.TryUpdateModel(bigmodel, Prefix, null, null))
            {
                if (part.ContentItem.Id != 0)
                {
                    foreach (ButtonToWorkflowsVMItem model in bigmodel.ElencoButtons)
                    {
                        if (_orchardServices.WorkContext.HttpContext.Request.Form["submit.Save"] == "submit.CustomButton" + model.ButtonText)
                        {
                            var content = _orchardServices.ContentManager.Get(part.ContentItem.Id, VersionOptions.Latest);
                            //_workflowManager.TriggerEvent("ButtonToWorkflowsSubmitted", content, () => new Dictionary<string, object> { { "Content", content } });
                            //   var settings = part.TypePartDefinition.Settings.GetModel<ButtonsSetting>();
                            //   settings.ButtonNumber = settings.ButtonNumber[0].Split(',');
                            ButtonToWorkflowsSettingsPart settingmodulo = _orchardServices.WorkContext.CurrentSite.As <ButtonToWorkflowsSettingsPart>();
                            string[] elencoButtonsMessage     = settingmodulo.ButtonsMessage.Split('£');
                            string[] elencoButtonsActionAsync = settingmodulo.ButtonsAsync.Split('£');
                            part.ActionToExecute = model.ButtonAction + "_btn" + (model.ButtonNumber + 1).ToString();
                            //   _workflowManager.TriggerEvent(model.ButtonAction+"_btn"+(model.ButtonNumber+1).ToString(), content, () => new Dictionary<string, object> { { "Content", content } });
                            part.MessageToWrite = elencoButtonsMessage[model.ButtonNumber].ToString();
                            string valAsync = string.IsNullOrEmpty(elencoButtonsActionAsync[model.ButtonNumber]) ? "" : elencoButtonsActionAsync[model.ButtonNumber].ToLower();
                            part.ActionAsync = valAsync.Equals("true");
                        }
                    }
                }
                else
                {
                    updater.AddModelError("Error Saving Content Item", T("Error Saving Content Item"));
                }
            }
            //  var viewModel = new ButtonToWorkflowsVM();
            return(ContentShape("Parts_ButtonToWorkflows", () => shapeHelper.EditorTemplate(TemplateName: "Parts/ButtonToWorkflows", Model: bigmodel, Prefix: Prefix)));
        }
        protected override DriverResult Editor(ButtonToWorkflowsPart part, dynamic shapeHelper)
        {
            var model    = new ButtonToWorkflowsVM(part);
            var settings = part.TypePartDefinition.Settings.GetModel <ButtonsSetting>();

            settings.ButtonNumber = settings.ButtonNumber[0].Split(',');
            //    model.ButtonText = settings.ButtonText;
            ButtonToWorkflowsSettingsPart settingmodulo = _orchardServices.WorkContext.CurrentSite.As <ButtonToWorkflowsSettingsPart>();

            try {
                string[] elencoButtonsText   = settingmodulo.ButtonsText.Split('£');
                string[] elencoButtonsAction = settingmodulo.ButtonsAction.Split('£');
                foreach (string intbutton in settings.ButtonNumber)
                {
                    model.ElencoButtons.Where(x => x.ButtonNumber == Convert.ToInt32(intbutton)).FirstOrDefault().ButtonAction = elencoButtonsAction[Convert.ToInt32(intbutton)];
                    model.ElencoButtons.Where(x => x.ButtonNumber == Convert.ToInt32(intbutton)).FirstOrDefault().ButtonText   = elencoButtonsText[Convert.ToInt32(intbutton)];
                }
                //for (int i = 0; i < elencoButtonsText.Count(); i++) {
                //    if (elencoButtonsText[i] == model.ButtonText) {
                //        model.ButtonAction = elencoButtonsAction[i];
                //        model.ButtonText = settings.ButtonText;
                //    }
                //}
            }
            catch { }
            return(ContentShape("Parts_ButtonToWorkflows", () => shapeHelper.EditorTemplate(TemplateName: "Parts/ButtonToWorkflows", Model: model, Prefix: Prefix)));
        }