Example #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);
        }
 public void Apresentar(ObterPostResultado resultado)
 {
     Post = new PostDetalhadoViewModel
     {
         Codigo = resultado.Codigo,
         CaminhoDaImagemDaCapa = resultado.CaminhoDaImagemDaCapa,
         Conteudo = resultado.Conteudo,
         Titulo = resultado.Titulo,
         DataPorExtenso = resultado.Data.ToString("MMMM dd, yyyy", CultureInfo.CurrentCulture),
         Tags = String.Join(", ", resultado.Tags),
         Url = resultado.Url,
         Comentarios = resultado.Comentarios.Select(c => new ComentarioViewModel
         {
             Nome = c.Nome,
             Email = c.Email,
             Mensagem = c.Mensagem,
             Data = c.Data.ToString("dd/MM/yyyy hh:mm:ss")
         }).OrderByDescending(c => c.Data)
     };
 }