private async Task PublicarPost(PublicarPost editor) { var post = await RecuperarPost(editor.Id); post.Publicar(editor.FechaPost, editor.UrlSlug, editor.EsRssAtom); await _db.GuardarCambios(); }
public async Task <ActionResult> Publicar(int id) { Post post = await RecuperarPost(id); if (post == null) { return(HttpNotFound()); } var viewModel = new PublicarPost(post); return(View(viewModel)); }
public async Task <ActionResult> Publicar(string boton, PublicarPost viewModel) { string accion = boton.ToLower(); var post = await RecuperarPost(viewModel.Id); if (accion.Contains("cancelar")) { if (post.EsBorrador) { return(RedirectToAction("Editar", "Borradores", new { id = viewModel.Id })); } return(RedirectToAction("Edit", "Posts", new { id = viewModel.Id })); } if (ModelState.IsValid) { var editorPost = new EditorPost(post); TryValidateModel(editorPost); if (!ModelState.IsValid) { return(View(viewModel)); } if (accion.Contains("programar")) { await ProgramarPublicacion(viewModel); } else if (accion.Contains("publicar")) { await PublicarPost(viewModel); } LimpiarCache(); if (accion.Contains("programar")) { return(RedirectToAction("Index", "Borradores")); } if (accion.Contains("home")) { return(RedirectToAction("Index", "Blog")); } return(RedirectToRoute(RouteConfig.NombreRutaAmigable, new { urlSlug = viewModel.UrlSlug })); } return(View(viewModel)); }