Esempio n. 1
0
        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);
        }
Esempio n. 2
0
 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);
 }
Esempio n. 3
0
 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);
 }