public void Handle(RegistrarEventoCommand message)
        {
            var evento = new EventoModel(
                message.Nome,
                message.DataInicio,
                message.DataFim,
                message.Gratuito,
                message.Valor,
                message.Online,
                message.NomeEmpresa);

            if (!evento.EhValido())
            {
                NotificarValidacoesErro(evento.ValidationResult);
                return;
            }
            //TODO:
            //Validações de negócio!
            //Persistencia

            _eventoRepository.Add(evento);

            if (Commit())
            {
                Console.WriteLine("Evento Registrado com sucesso!");
                _bus.RaiseEvent(new EventoRegistradoEvent(evento.Id, evento.Nome,
                                                          evento.DataInicio,
                                                          evento.DataFim,
                                                          evento.Gratuito,
                                                          evento.Valor,
                                                          evento.Online,
                                                          evento.NomeEmpresa));
            }
        }
        private bool EventoValido(EventoModel evento)
        {
            if (evento.EhValido())
            {
                return(true);
            }

            NotificarValidacoesErro(evento.ValidationResult);
            return(false);
        }