public ICommandResult Handle(CriarComentarioCommand command) { command.Validar(); if (command.Invalid) { return(new GenericCommandResult(false, "Dados inválidos", command.Notifications)); } var pacoteExiste = _pacoteRepositorio.BuscarPorId(command.IdPacote); if (pacoteExiste == null) { return(new GenericCommandResult(false, "Pacote não encontrado", null)); } var resultado = new ModeradorConteudo().Moderar(command.Texto); if (resultado != null) { var palavras = resultado.Select( r => { return(new { palavra = r.Term }); } ).ToArray(); return(new GenericCommandResult(false, "Este comentário fere nossas politicas", palavras)); } Reserva comentario = new Comentario(command.Texto, "Feliz", command.IdUsuario, command.IdPacote, EnStatusComentario.Publicado); if (comentario.Invalid) { return(new GenericCommandResult(false, "Dados inválidos", comentario.Notifications)); } _comentarioRepositorio.Adicionar(comentario); return(new GenericCommandResult(true, "Comentário Adicionado", null)); }
public ICommandResult Handle(CriarComentárioCommand command) { // Validar Command command.Validar(); if (command.Invalid) { return(new GenericCommandResult(false, "Dados do comentario inválido", command.Notifications)); } var comentario = new Comentario(command.Texto, command.Sentimento, command.IdUsuario, command.IdPacote, command.Status); // Salvar comentario if (comentario.Invalid) { return(new GenericCommandResult(false, "Comentario Inválido", command.Notifications)); } // Salvar comentario no banco _comentarioRepositorio.Adicionar(comentario); // Mensagem sucesso return(new GenericCommandResult(true, "Comentario criado", comentario)); }