public void Executar(ObterPostRequisicao requisicao) { var resultado = new ObterPostResultado(); var post = new Post(); if (String.IsNullOrWhiteSpace(requisicao.Url)) { post = this.postRepositorio.ObterCodigo(requisicao.Codigo); } else { post = this.postRepositorio.ObterPorUrl(requisicao.Url); } resultado.Codigo = post.Codigo; resultado.CaminhoDaImagemDaCapa = post.CaminhoDaImagemDaCapa; resultado.Conteudo = post.Conteudo; resultado.Data = post.Data; resultado.Tags = post.Tags; resultado.Titulo = post.Titulo; resultado.Url = post.Url; resultado.Comentarios = post.Comentarios.Select(c => new ObterPostResultado.Comentario { Nome = c.Nome, Email = c.Email, Data = c.Data, Mensagem = c.Mensagem }); Apresentador.Apresentar(resultado); }
public ActionResult Editar(int codigo) { var requisicao = new ObterPostRequisicao(); requisicao.Codigo = codigo; var apresentador = new ObterPostApresentador(); this.obterPostExecutor.Apresentador = apresentador; this.obterPostExecutor.Executar(requisicao); var viewModel = new NovoPostViewModel(); viewModel.CaminhoDaImagemDaCapa = apresentador.Post.CaminhoDaImagemDaCapa; viewModel.Conteudo = apresentador.Post.Conteudo; viewModel.Tags = String.IsNullOrWhiteSpace(apresentador.Post.Tags) ? new List<string>() : apresentador.Post.Tags.Split(',').ToList(); viewModel.Titulo = apresentador.Post.Titulo; viewModel.Url = apresentador.Post.Url; viewModel.Codigo = apresentador.Post.Codigo; return View("NovoPost", viewModel); }
public ActionResult Detalhar(string ano, string mes, string dia, string titulo) { var requisicao = new ObterPostRequisicao(); requisicao.Url = String.Format("{0}/{1}/{2}/{3}", ano, mes.ToString().PadLeft(2, '0'), dia.ToString().PadLeft(2, '0'), titulo); var apresentador = new ObterPostApresentador(); this.obterPostExecutor.Apresentador = apresentador; this.obterPostExecutor.Executar(requisicao); return View("PostDetalhado", apresentador.Post); }