Пример #1
0
        public async Task <IActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(RedirectToAction("New"));
            }

            Item item = await _domainContext.Items.Get(id.Value);

            ItemEditModel model = new ItemEditModelAssembler().ToModel(item);

            return(View("Edit", model));
        }
Пример #2
0
        public async Task <IActionResult> Run(
            [FromRoute] int?id,
            ItemEditModel editModel,
            ItemSettingsModel settings
            )
        {
            this.ModelState.Clear();

            if (id > 0)
            {
                Item item = await _domainContext.Items.Get(id.Value) ?? new Item();

                editModel = new ItemEditModelAssembler().ToModel(item);
            }

            ItemRunModel model = new ItemRunModel();

            model.EditModel = editModel;
            try
            {
                model.RunResult = await _jsService.Run(editModel.Code);

                if (model.RunResult.Exception != null)
                {
                    this.ModelState.AddModelError("", "Error, Line " + model.RunResult.LastExecutedLine + " :" + model.RunResult.Exception.Message);
                }

                foreach (var error in model.RunResult.Errors)
                {
                    this.ModelState.AddModelError("", error.ToJsonOrString());
                }
            }
            catch (Exception ex)
            {
                this.ModelState.AddModelError("", ex.Message);
            }

            if (settings.RenderAs == "subView")
            {
                return(PartialView("_Run", model));
            }
            return(View(model));
        }