public async Task <ValidationResult> Handle(AdicionarEmpresaCommand message, CancellationToken cancellationToken) { if (!message.IsValid()) { return(message.ValidationResult); } Usuario proprietarioEmpresa = await _repository.ObterUsuarioPorId(message.UsuarioProprietarioId); if (proprietarioEmpresa is null) { return(await NotifyAndReturn("Usuário não encontrado.")); } Empresa novaEmpresa = new Empresa(message.RazaoSocial, message.Cnpj, message.HorarioAbertura, message.HorarioFechamento); proprietarioEmpresa.AdicionarEmpresa(novaEmpresa); _repository.AdicionarEmpresa(novaEmpresa); return(await SaveAndPublish(new EmpresaAdicionadaUsuarioEvent(novaEmpresa.Id, message.UsuarioProprietarioId, message.RazaoSocial, message.Cnpj, message.DiasFuncionamento, message.HorarioAbertura, message.HorarioFechamento))); }