예제 #1
0
        private async Task ActualizarBorrador(EditorBorrador editorBorrador)
        {
            var post = await RecuperarBorrador(editorBorrador.Id);

            ActualizaBorrador(post, editorBorrador, _asignadorTags);
            await _db.GuardarCambios();
        }
예제 #2
0
        public async Task <ActionResult> Editar(string boton, EditorBorrador viewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View(viewModel));
            }

            await ActualizarBorrador(viewModel);

            if (boton.ToLower().Contains(@"publicar"))
            {
                var editorPost = new EditorPost(viewModel);

                TryValidateModel(editorPost);

                if (!ModelState.IsValid)
                {
                    return(View(viewModel));
                }

                return(RedirectToAction("Publicar", "Posts", new { id = viewModel.Id }));
            }

            return(RedirectToAction("Detalles", new { id = viewModel.Id }));
        }
예제 #3
0
        public ActionResult Crear()
        {
            var viewModel = new EditorBorrador
            {
                Autor     = "Albert Capdevila",
                FechaPost = DateTime.Today
            };

            return(View(viewModel));
        }
예제 #4
0
        public static void ActualizaBorrador(Post post,
                                             EditorBorrador editorBorrador,
                                             AsignadorTags asignadorTags)
        {
            post.InjectFrom(editorBorrador);

            post.ModificarTitulo(editorBorrador.Titulo);

            asignadorTags.AsignarTags(post, editorBorrador.ListaTags);
            post.FechaModificacion = DateTime.Now;
        }
예제 #5
0
        public async Task CrearBorrador(
            EditorBorrador editorBorrador)
        {
            var post = Post.CrearNuevoPorDefecto(editorBorrador.Autor);

            ActualizaBorrador(post, editorBorrador, _asignadorTags);

            _db.Posts.Add(post);
            await _db.GuardarCambios();

            editorBorrador.Id = post.Id;
        }
예제 #6
0
        public async Task <ActionResult> Editar(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Post post = await RecuperarBorrador(id.Value);

            if (post == null)
            {
                return(HttpNotFound());
            }

            var viewModel = new EditorBorrador(post);

            return(View(viewModel));
        }
예제 #7
0
        public async Task <ActionResult> Guardar(EditorBorrador viewModel)
        {
            if (ModelState.IsValid)
            {
                await ActualizarBorrador(viewModel);

                return(Json(new { esOk = true }, JsonRequestBehavior.AllowGet));
            }

            var sb = new StringBuilder();

            foreach (ModelState modelState in ViewData.ModelState.Values)
            {
                foreach (ModelError error in modelState.Errors)
                {
                    sb.AppendLine(error.ErrorMessage);
                }
            }

            return(Json(new { esOk = false, textoRespuesta = sb.ToString() }, JsonRequestBehavior.AllowGet));
        }