public AmigoEntidade PesquisarAmigoPorNome(string nome) { AmigoEntidade objRetorno = listaAmigos .FirstOrDefault(x => x.Nome.ToLower() == nome.ToLower()); return(objRetorno); }
public List <AmigoEntidade> ObterAmigosEmLocalizaoProxima(AmigoEntidade amigoVisitante) { List <AmigoEntidade> _ListaAmigosEmLocalizaoProximas = new List <AmigoEntidade>(); LocalizacaoGeograficaEntidade localizaoAtual = amigoVisitante.PosicaoGeografica; var distanciaEntreAmigos = CalcularDistanciaEntreAmigos(amigoVisitante) .OrderBy(_ => _.Value) .Take(3); return(distanciaEntreAmigos.Select(item => listaAmigos.ElementAt(item.Key)).ToList()); }
public void PesquisarAmigoPorNome() { string nomeAmigo = "Paulo"; AmigoEntidade objRetornoRecebido = new AmigoEntidade().listaAmigos.FirstOrDefault(x => x.Nome.ToLower() == nomeAmigo.ToLower()); AmigoEntidade objRetornoesperado = new AmigoEntidade { Codigo = 1, Nome = "Henrique", PosicaoGeografica = new LocalizacaoGeograficaEntidade { Latitude = -22, Longitude = -43 } }; Assert.AreEqual(objRetornoRecebido, objRetornoesperado, "Informação não cadastrada"); }
private Dictionary <int, double> CalcularDistanciaEntreAmigos(AmigoEntidade amigoVisitante) { var distanciaEntreAmigos = new Dictionary <int, double>(); foreach (var amigo in listaAmigos) { if (amigo.Equals(amigoVisitante)) { continue; } var posicaoGeograficaAmigo = amigo.PosicaoGeografica; var teoremaPytagorasX = Math.Pow((amigoVisitante.PosicaoGeografica.Latitude - posicaoGeograficaAmigo.Latitude), 2); var teoremaPytagorasY = Math.Pow((amigoVisitante.PosicaoGeografica.Longitude - posicaoGeograficaAmigo.Longitude), 2); var teoremaPytagorasResultado = Math.Sqrt(teoremaPytagorasX + teoremaPytagorasY); distanciaEntreAmigos.Add(amigo.Codigo, teoremaPytagorasResultado); } return(distanciaEntreAmigos); }
public List <AmigoEntidade> ObterAmigosEmLocalizaoProxima(AmigoEntidade amigoVisitante) { return(new AmigoNegocio().ObterAmigosEmLocalizaoProxima(amigoVisitante)); }
public List <AmigoEntidade> ObterAmigosEmLocalizaoProxima(AmigoEntidade amigoVisitante) { return(new AmigoPersistencia().ObterAmigosEmLocalizaoProxima(amigoVisitante)); }