Exemple #1
0
        public async Task <IEnumerable <Empresa> > ListAsync(double lat, double lng)
        {
            var empresas = await _repository.GetAllAsync();

            foreach (var empresa in empresas)
            {
                //Calcular a Distância
                empresa.Distancia = CalcularDistancia(lat, lng, empresa.Latitude, empresa.Longitude);

                //Preencher a mensagem
                if (empresa.Distancia < 1)
                {
                    empresa.DistanciaString = $"{(empresa.Distancia * 1000).ToString("N0")}m";
                }
                else
                {
                    empresa.DistanciaString = $"{empresa.Distancia.ToString("N2")}km";
                }
            }

            return(empresas.OrderBy(x => x.Distancia));
        }