示例#1
0
        public void DeveRetornarUmaDistanciaMenorQue500metros()
        {
            //assert
            var pos1 = new Domain.ValueObjects.Localizacao(
                latitude: -8.771593,
                longitude: -63.847208
                );

            var pos2 = new Domain.ValueObjects.Localizacao(
                latitude: -8.76983,
                longitude: -63.84870
                );

            //act
            var distancia = calculadoraDeDistanciaGeografica.HaversineDistance(pos1, pos2);

            //arrange
            Assert.True(distancia < 500);
        }
示例#2
0
        public async Task <List <Domain.Entities.Parada> > Executar(double latitude, double longitude, int raioEmMetros)
        {
            var paradasMaisProximas = new List <Domain.Entities.Parada>();

            var paradas = await context.Paradas.ToListAsync();

            foreach (var item in paradas)
            {
                var distancia = calculadoraDeDistanciaGeografica.HaversineDistance(new Localizacao(latitude, longitude), item.Localizacao);

                if (distancia < raioEmMetros)
                {
                    paradasMaisProximas.Add(item);
                }
            }

            return(paradasMaisProximas);
        }