예제 #1
0
        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));
        }
예제 #2
0
        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));
        }
예제 #3
0
        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));
        }