/// <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); } }
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); }