예제 #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);
            }
        }
예제 #2
0
        public async Task <List <Cliente> > GetNearClients(Helpers.GeoUtils.Position position)
        {
            try
            {
                var request = JsonConvert.SerializeObject(position);
                var content = new StringContent(request, Encoding.UTF8, "application/json");
                var client  = new HttpClient();
                client.BaseAddress = new Uri(URL_ws);
                var url      = "simed/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);
            }
        }
예제 #3
0
 public InformeViewModel()
 {
     position          = new Helpers.GeoUtils.Position();
     informe           = new Informe();
     navigationService = new NavigationService();
     dialogService     = new DialogService();
     apiService        = new ApiService();
 }
예제 #4
0
        public CheckinViewModel(ListRequest clienteseleccionado)
        {
            this.clienteseleccionado = clienteseleccionado;
            valor             = "";
            position          = new Helpers.GeoUtils.Position();
            visita            = new Visita();
            navigationService = new NavigationService();
            dialogService     = new DialogService();
            apiService        = new ApiService();

            if (Settings.IsLoggedIn)
            {
                init();
            }
        }
예제 #5
0
        async void CrossGeolocator_Current_PositionChanged(object sender, PositionEventArgs e)
        {
            Device.BeginInvokeOnMainThread(() =>
            {
                var position        = e.Position;
                myPosition.Position = new Xamarin.Forms.Maps.Position(position.Latitude, position.Longitude);
            });


            var miposicion = new Helpers.GeoUtils.Position
            {
                latitude  = e.Position.Latitude,
                longitude = e.Position.Longitude,
            };


            if (positionAux == null)
            {
                positionAux = miposicion;
                await apiService.LogRuta(new LogRutaVendedor
                {
                    IdVendedor = Settings.userId,
                    Latitud    = e.Position.Latitude,
                    Longitud   = e.Position.Longitude,
                    Fecha      = DateTime.Now
                });
            }
            if (!(Helpers.GeoUtils.GeoUtils.EstaCercaDeMi(positionAux, miposicion, distancia)))
            {
                await apiService.LogRuta(new LogRutaVendedor
                {
                    IdVendedor = Settings.userId,
                    Latitud    = miposicion.latitude,
                    Longitud   = miposicion.longitude,
                    Fecha      = DateTime.Now
                });

                positionAux = miposicion;
            }
        }
예제 #6
0
 public CheckinViewModel()
 {
     valor             = "";
     position          = new Helpers.GeoUtils.Position();
     visita            = new Visita();
     navigationService = new NavigationService();
     dialogService     = new DialogService();
     apiService        = new ApiService();
     if (Settings.IsLoggedIn)
     {
         init();
     }
     Tipos = new List <Models.Tipos>
     {
         new Tipos {
             id = 1, tipo = "Venta"
         },
         new Tipos {
             id = 2, tipo = "Visita"
         }
     };
 }