private async Task VerificarEndereco(Cliente cliente) { var rua = await _ruaServico.FindFirstAsync(x => x.Nome == cliente.Rua.Nome); if (rua == null) { await _ruaServico.AddAsync(cliente.Rua); cliente.RuaID = (await _ruaServico.LastAsync()).ID; } else { cliente.RuaID = rua.ID; } var bairro = await _bairroServico.FindFirstAsync(x => x.Nome == cliente.Bairro.Nome); if (bairro == null) { await _bairroServico.AddAsync(cliente.Bairro); cliente.BairroID = (await _bairroServico.LastAsync()).ID; } else { cliente.BairroID = bairro.ID; } var cidade = await _cidadeServico.FindFirstAsync(x => x.Nome == cliente.Cidade.Nome && x.Estado == cliente.Cidade.Estado); if (cidade == null) { await _cidadeServico.AddAsync(cliente.Cidade); cliente.CidadeID = (await _cidadeServico.LastAsync()).ID; } else { cliente.CidadeID = cidade.ID; } }