public List <Tracking> ObterAmigosMaisProximo(string Nome)
        {
            List <Tracking> tracking = new List <Tracking>();

            double distancia = 0;

            try
            {
                var pessoas = _uow._db.Pessoas.Where(x => x.Nome.Trim().ToLower() == Nome.Trim().ToLower());

                if (pessoas == null || pessoas.Count() == 0)
                {
                    return(tracking);
                }

                var pessoaOrigem = pessoas.ToList().FirstOrDefault();

                var outrasPessoas = _uow._db.Pessoas.Where(x => x.Id != pessoaOrigem.Id).ToList();

                foreach (var pessoa in outrasPessoas)
                {
                    var localizacaoOrigem = new Localizacao()
                    {
                        Latitude  = Convert.ToDouble(pessoaOrigem.Latitude),
                        Longitude = Convert.ToDouble(pessoaOrigem.Longitude)
                    };

                    var localizacaoDestino = new Localizacao()
                    {
                        Latitude  = Convert.ToDouble(pessoa.Longitude),
                        Longitude = Convert.ToDouble(pessoa.Longitude)
                    };

                    distancia = TrackingHelper.CalculateDistance(localizacaoOrigem, localizacaoDestino);

                    tracking.Add(new Tracking
                    {
                        PessoaId  = pessoa.Id,
                        Nome      = pessoa.Nome,
                        Distancia = Math.Round(distancia, 2)
                    });

                    // Salvar Histórico
                    var historico = new CalculoHistoricoLog
                    {
                        PessoaOrigemID  = pessoaOrigem.Id,
                        PessoaDestinoID = pessoa.Id,
                        Distancia       = Convert.ToDecimal(Math.Round(distancia, 2))
                    };

                    var Novohistorico = new CalculoHistoricoLogRepository(_uow).Save(historico);
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }

            return(tracking.OrderBy(x => x.Distancia).Take(3).ToList());
        }