コード例 #1
0
        public AmigoEntidade PesquisarAmigoPorNome(string nome)
        {
            AmigoEntidade objRetorno = listaAmigos
                                       .FirstOrDefault(x => x.Nome.ToLower() == nome.ToLower());

            return(objRetorno);
        }
コード例 #2
0
        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());
        }
コード例 #3
0
        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");
        }
コード例 #4
0
        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);
        }
コード例 #5
0
ファイル: AmigoFacade.cs プロジェクト: jjuniorbr/NET
 public List <AmigoEntidade> ObterAmigosEmLocalizaoProxima(AmigoEntidade amigoVisitante)
 {
     return(new AmigoNegocio().ObterAmigosEmLocalizaoProxima(amigoVisitante));
 }
コード例 #6
0
 public List <AmigoEntidade> ObterAmigosEmLocalizaoProxima(AmigoEntidade amigoVisitante)
 {
     return(new AmigoPersistencia().ObterAmigosEmLocalizaoProxima(amigoVisitante));
 }