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); }
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); }