Exemplo n.º 1
0
        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 }));
        }