public RegistrarEventoCommand(
     string nome,
     string descricaoCurta,
     string descricaoLonga,
     DateTime dataInicio,
     DateTime dataFim,
     bool gratuito,
     decimal valor,
     bool online,
     string nomeEmpresa,
     Guid organizadorId,
     Guid categoriaId,
     IncluirEnderecoEventoCommand endereco
     )
 {
     Nome           = nome;
     DescricaoCurta = descricaoCurta;
     DescricaoLonga = descricaoLonga;
     DataInicio     = dataInicio;
     DataFim        = dataFim;
     Gratuito       = gratuito;
     Valor          = valor;
     Online         = online;
     NomeEmpresa    = nomeEmpresa;
     OrganizadorId  = organizadorId;
     CategoriaId    = categoriaId;
     Endereco       = endereco;
 }
        public void Handle(IncluirEnderecoEventoCommand message)
        {
            var endereco = new Endereco(message.Id, message.Logradouro, message.Numero, message.Complemento, message.Bairro, message.Cep, message.Cidade, message.Estado, message.EventoId.GetValueOrDefault());

            if (!endereco.EhValido())
            {
                NotificarValidacoesErro(endereco.ValidationResult);
                return;
            }

            _eventoRepository.AdicionarEndereco(endereco);

            if (Commit())
            {
                _bus.RaiseEvent(new EnderecoEventoAdicionadoEvent(endereco.Id, endereco.Logradouro, endereco.Numero, endereco.Complemento, endereco.Bairro, endereco.Cep, endereco.Cidade, endereco.Estado, endereco.EventoId.Value));
            }
        }