public virtual ActionResult Edit(string folderName, string uuid, FormCollection form, string @return, bool localize = false) { var data = new JsonResultData(); try { if (ModelState.IsValid) { TextFolder textFolder = new TextFolder(Repository, folderName).AsActual(); var schema = textFolder.GetSchema().AsActual(); SchemaPath schemaPath = new SchemaPath(schema); IEnumerable <TextContent> addedCategories; IEnumerable <TextContent> removedCategories; ParseCategories(form, out addedCategories, out removedCategories); ContentBase content; TextContent previous = Session["EditableObject"] as TextContent; TextContentManager.Update(Repository, textFolder, uuid, form, Request.Files, DateTime.UtcNow, addedCategories, removedCategories, User.Identity.Name, previous: previous); if (localize == true) { TextContentManager.Localize(textFolder, uuid); } data.RedirectToOpener = true; data.RedirectUrl = @return; } } catch (RuleViolationException violationException) { foreach (var item in violationException.Issues) { ModelState.AddModelError(item.PropertyName, item.ErrorMessage); } data.Success = false; } catch (Exception e) { data.AddException(e); } data.AddModelState(ModelState); return(Json(data)); }
public virtual ActionResult Localize(string folderName, string[] docs) { var data = new JsonResultData(ModelState); data.RunWithTry((resultData) => { TextFolder textFolder = new TextFolder(Repository, folderName).AsActual(); if (docs != null) { foreach (var doc in docs) { if (string.IsNullOrEmpty(doc)) { continue; } TextContentManager.Localize(textFolder, doc); } } resultData.ReloadPage = true; }); return(Json(data)); }