Exemple #1
0
        /// <summary>
        /// Obtiene los clientes cercanos
        /// </summary>
        /// <param name="position"></param>
        /// <param name="Radio"></param>
        /// <returns></returns>
        public async Task <List <Cliente> > GetNearClients(Helpers.GeoUtils.Position position, double Radio)
        {
            try
            {
                var ncr = new NearClientRequest
                {
                    Position = position,
                    myId     = Settings.userId,
                    radio    = Radio,
                };
                var request = JsonConvert.SerializeObject(ncr);
                var content = new StringContent(request, Encoding.UTF8, "application/json");
                var client  = new HttpClient();
                client.BaseAddress = new Uri(Constants.Constants.VentasWS);
                var url      = "api/Clientes/GetNearClients";
                var response = await client.PostAsync(url, content);

                if (!response.IsSuccessStatusCode)
                {
                    return(null);
                }
                var result = await response.Content.ReadAsStringAsync();

                var clientes = JsonConvert.DeserializeObject <List <Cliente> >(result);
                return(clientes);
                //  var log = JsonConvert.DeserializeObject<LogPosition>(result);
            }
            catch (Exception ex)
            {
                return(null);
            }
        }
Exemple #2
0
        public async Task <List <Cliente> > GetClientForPosition(NearClientRequest posicion)
        {
            db.Configuration.ProxyCreationEnabled = false;
            var clientes = await db.Cliente.Where(x => x.IdVendedor == posicion.myId).ToListAsync();

            List <Cliente> Clientes = new List <Cliente>();

            foreach (var cliente in clientes)
            {
                var cposition = new Position
                {
                    latitude  = cliente.Latitud,
                    longitude = cliente.Longitud
                };
                if (GeoUtils.EstaCercaDeMi(posicion.Position, cposition, posicion.radio))
                {
                    Clientes.Add(cliente);
                }
            }
            return(Clientes);
        }