示例#1
0
        public void Executar(SalvarPostRequisicao requisicao)
        {
            var resultado = new SalvarPostResultado();

            try
            {
                bool ehUmNovoPost = requisicao.Codigo == 0;
                if (ehUmNovoPost)
                {
                    var post = new Post();
                    post.Titulo = requisicao.Titulo;
                    post.Conteudo = requisicao.Conteudo;
                    post.Tags = requisicao.Tags;
                    post.Data = DateTime.Now;
                    post.Url = String.Format(@"{0}/{1}/{2}/{3}", post.Data.Year, post.Data.Month.ToString().PadLeft(2, '0'),
                                                                             post.Data.Day.ToString().PadLeft(2, '0')).Replace(" ", "-").RemoverAcentos();
                    post.CaminhoDaImagemDaCapa = requisicao.CaminhoDaImagemDaCapa;
                    this.postRepositorio.Salvar(post);
                    resultado.NotificacaoDeSucesso = "Post salvo com sucesso.";
                }
                else
                {
                    var post = this.postRepositorio.ObterCodigo(requisicao.Codigo);
                    post.Titulo = requisicao.Titulo;
                    post.Conteudo = requisicao.Conteudo;
                    post.Tags = requisicao.Tags;
                    post.Data = DateTime.Now;
                    post.CaminhoDaImagemDaCapa = requisicao.CaminhoDaImagemDaCapa;
                    this.postRepositorio.Atualizar(post);
                    resultado.NotificacaoDeSucesso = "Post editado com sucesso.";
                }
            }
            catch (Exception ex)
            {
                resultado.NotificacoesDeErro.Add("Erro ao salvar o post. Mensagem: " + ex.Message);
            }

            Apresentador.Apresentar(resultado);
        }
示例#2
0
 public void Salvar(NovoPostViewModel novoPost)
 {
     var apresentador = new SalvarPostApresentador();
     var requisicao = new SalvarPostRequisicao
     {
         Codigo = novoPost.Codigo,
         Titulo = novoPost.Titulo,
         Conteudo = novoPost.Conteudo,
         CaminhoDaImagemDaCapa = novoPost.CaminhoDaImagemDaCapa,
         Tags = novoPost.Tags.ToArray()
     };
     salvarPostExecutor.Apresentador = apresentador;
     salvarPostExecutor.Executar(requisicao);
 }