public async Task Execute(CadastrarEmpresaInput input) { var empresa = _empresaFactory.NovaEmpresa(input.UF, input.NomeFantasia, input.CNPJ); if (empresa.Invalido) { _outputPort.AddNotifications(empresa.Notificacoes); return; } if (await _empresaRepositorio.EmpresaJaCadastrada(empresa.CNPJ)) { _outputPort.AddNotification("CNPJ já cadastrado"); return; } await _empresaRepositorio.Save(empresa).ConfigureAwait(false); await _unitOfWork.Commit(); _outputPort.AddResult(new CadastrarEmpresaOutput(empresa.Id, empresa.UF, empresa.NomeFantasia, empresa.CNPJ.ToString())); }