public ActionResult Edit(ArticleFormViewModel model) { var article = serviceArticle.GetItem(model.ArticleId); var admuser = serviceAdmUser.GetItem_Email(User.Identity.GetUserName()); ViewBag.ArticleParentId = article.ArticleParentId; ViewBag.SchemaId = article.Schema.SchemaParentId; try { if (ModelState.IsValid) { string XmlParams = article.XmlParams; foreach (string key in Request.Form.AllKeys) { if (key.StartsWith(prefix)) { XmlParams = XMLReader.SetValue(XmlParams, key.Replace(prefix, ""), Request.Form[key]); } } article.Title = model.Title; article.SubTitle = model.SubTitle; article.Resumen = System.Net.WebUtility.HtmlDecode(model.Resumen); article.Description = System.Net.WebUtility.HtmlDecode(model.Description); article.Description2 = System.Net.WebUtility.HtmlDecode(model.Description2); article.XmlParams = XmlParams; article.PublishDate = model.PublishDate; article.ShowInHome = model.ShowInHome; article.StaticUrl = model.StaticUrl; article.Position = model.Position; article.AuthorId = admuser.UserId; article.Active = model.Active; serviceArticle.Edit(article); } else { ModelState.AddModelError("Error", "Algunos datos ingresados no son válidos"); return(View(model)); } } catch (Exception ex) { ModelState.AddModelError("Error", "Se ha producido un error: " + ex.Message); return(View(model)); } return(RedirectToAction("Index", new { SchemaId = ViewBag.SchemaId, ArticleParentId = ViewBag.ArticleParentId })); }