public ActionResult Edita(NotiziaEditaModel model) { ActionResult result = null; Notizia notizia = null; if (ModelState.IsValid) { int id = 0; CategoriaNotizia categoria = null; ContenutoService cs = new ContenutoService(); categoria = CategoriaNotiziaRepository.Instance.RecuperaCategoriaNotizia(model.CategoriaNotiziaID.Value); if (model.ID != 0) { notizia = NotiziaRepository.Instance.RecuperaNotizia(model.ID); notizia.Categoria = categoria; notizia.ImmagineID = model.ImmagineID.Value; notizia.Data = model.Data; notizia.Titolo_IT = model.Titolo_IT; notizia.Titolo_EN = model.Titolo_EN; notizia.TitoloBreve_IT = model.TitoloBreve_IT; notizia.TitoloBreve_EN = model.TitoloBreve_EN; notizia.Abstract_IT = model.Abstract_IT; notizia.Abstract_EN = model.Abstract_EN; notizia.Testo_IT = UrlUtility.VAHtmlReplaceRealUrls(model.Testo_IT); notizia.Testo_EN = UrlUtility.VAHtmlReplaceRealUrls(model.Testo_EN); //notizia.Stato = model.StatoNotizia; } else { notizia = cs.CreaNotizia(categoria, model.ImmagineID.Value, model.Data, model.Titolo_IT, model.Titolo_EN, model.TitoloBreve_IT, model.TitoloBreve_EN, model.Abstract_IT, model.Abstract_EN, model.Testo_IT, model.Testo_EN); } id = cs.SalvaNotizia(notizia); result = RedirectToAction("Edita", new { id = id }); } else { if (model.ID != 0) { notizia = NotiziaRepository.Instance.RecuperaNotizia(model.ID); model.Notizia = notizia; } model.CategorieSelectList = ModelUtils.CreaCategoriaNotiziaSelectList(true); model.ImmaginiSelectList = ModelUtils.CreaImmaginiSelectList(true); model.StatiSelectList = ModelUtils.CreaStatoNotiziaSelectList(false); result = View(model); } return(result); }
public JsonResult EditaStato(int id, StatoNotiziaEnum statoNotizia) { JsonResult result = null; Notizia notizia = NotiziaRepository.Instance.RecuperaNotizia(id); JavaScriptSerializer serializer = new JavaScriptSerializer(); List <string> messaggi = new List <string>(); bool bOk = false; if (notizia != null) { ContenutoService cs = new ContenutoService(); if (statoNotizia == StatoNotiziaEnum.Bozza) { bOk = true; notizia.Pubblicata = false; } else if (statoNotizia == StatoNotiziaEnum.Pubblicabile) { messaggi = cs.NotiziaPubblicabile(notizia); } if (messaggi == null || messaggi.Count == 0) { bOk = true; } if (bOk) { messaggi.Insert(0, "ok"); notizia.Stato = statoNotizia; cs.SalvaNotizia(notizia); result = Json(new object[] { notizia.Pubblicata, DateTime.Now.ToString("dd/MM/yyyy HH:mm"), serializer.Serialize(messaggi) }); } else { messaggi.Insert(0, "validation errors"); result = Json(new object[] { notizia.Pubblicata, notizia.DataUltimaModifica.ToString("dd/MM/yyyy HH:mm"), serializer.Serialize(messaggi) }); } } else { messaggi.Insert(0, "error"); result = Json(new object[] { null, null, serializer.Serialize(messaggi) }); } return(result); }
public JsonResult EditaPubblicato(int id, bool editaPubblicato) { JsonResult result = null; Notizia notizia = NotiziaRepository.Instance.RecuperaNotizia(id); bool bOk = false; if (notizia != null) { if (!editaPubblicato) { bOk = true; } else { if (notizia.Stato == StatoNotiziaEnum.Pubblicabile) { bOk = true; } } if (bOk) { notizia.Pubblicata = editaPubblicato; ContenutoService cs = new ContenutoService(); cs.SalvaNotizia(notizia); result = Json(new object[] { notizia.Pubblicata, DateTime.Now.ToString("dd/MM/yyyy HH:mm"), "ok" }); } else { result = Json(new object[] { notizia.Pubblicata, notizia.DataUltimaModifica.ToString("dd/MM/yyyy HH:mm"), "La notizia non può essere pubblicata perchè non è nello stato 'pubblicabile'" }); } } else { result = Json(new object[] { null, null, "error" }); } return(result); }