public async Task <ActionResult> New(string tabId, int parentId) { var plugin = _visualEditorService.NewVisualEditorPluginProperties(parentId); var model = VisualEditorPluginViewModel.Create(plugin, tabId, parentId); return(await JsonHtml("Properties", model)); }
public async Task <ActionResult> Properties(string tabId, int parentId, int id, string successfulActionCode) { var plugin = _visualEditorService.ReadVisualEditorPluginProperties(id); var model = VisualEditorPluginViewModel.Create(plugin, tabId, parentId); model.SuccesfulActionCode = successfulActionCode; return(await JsonHtml("Properties", model)); }
public async Task <ActionResult> New(string tabId, int parentId, IFormCollection collection) { var plugin = _visualEditorService.NewVisualEditorPluginPropertiesForUpdate(parentId); var model = VisualEditorPluginViewModel.Create(plugin, tabId, parentId); await TryUpdateModelAsync(model); if (ModelState.IsValid) { model.Data = _visualEditorService.SaveVisualEditorPluginProperties(model.Data); PersistResultId(model.Data.Id); PersistCommandIds(null, model.Data.VeCommands.Select(n => n.Id).ToArray()); return(Redirect("Properties", new { tabId, parentId, id = model.Data.Id, successfulActionCode = ActionCode.SaveVisualEditorPlugin })); } return(await JsonHtml("Properties", model)); }
public ActionResult Properties(string tabId, int parentId, int id, FormCollection collection) { var plugin = _visualEditorService.ReadVisualEditorPluginPropertiesForUpdate(id); var model = VisualEditorPluginViewModel.Create(plugin, tabId, parentId); TryUpdateModel(model); model.Validate(ModelState); if (ModelState.IsValid) { var oldIds = model.Data.VeCommands.Select(n => n.Id).ToArray(); model.Data = _visualEditorService.UpdateVisualEditorProperties(model.Data); var newIds = model.Data.VeCommands.Select(n => n.Id).ToArray(); PersistResultId(model.Data.Id); PersistCommandIds(oldIds, newIds); return(Redirect("Properties", new { tabId, parentId, id = model.Data.Id, successfulActionCode = ActionCode.UpdateVisualEditorPlugin })); } return(JsonHtml("Properties", model)); }