Exemple #1
0
        public JsonResult Post([FromBody] IEnumerable <Amigo> amigos)
        {
            var parametro = Conversao.Transformar(amigos) as List <Core.DTO.Amigo>;
            var resultado = LocalizacaoCore.Executar(parametro);
            var retorno   = Conversao.Transformar(resultado);

            return(Json(retorno));
        }
Exemple #2
0
        public IEnumerable <Amigo> Executar(IEnumerable <Amigo> amigos)
        {
            amigos.ValidarDuplicidade();

            var minhaLocalizacao   = amigos.Where(amigo => amigo.EstouAqui).First();
            var amigosMaisProximos = amigos.Where(amigo => amigo.Nome != minhaLocalizacao.Nome);

            amigosMaisProximos.ToList().ForEach(amigo =>
            {
                amigo.Localizacao.CarregarCoordenadas();
                amigo.Localizacao.CalcularDistancia(minhaLocalizacao.Localizacao.Latitude, minhaLocalizacao.Localizacao.Longitude);
            });

            var resultado = amigosMaisProximos.OrderBy(amigo => amigo.Localizacao.Distancia);

            var parametro = (Repositorio.Collection.CalculoHistoricoLog)Conversao.Transformar(resultado);

            AmigoRepositorio.Incluir(parametro);

            return(resultado.Take(3));
        }