public override async Task InitializeAsync(object navigationData) { // await listarElementos(); if (navigationData != null) { Elemento = navigationData as ElementoModelo; //en el elemento estan todas las propiedades que se quieran desplegar en la vista NombreDispensador = Elemento.NombreDispensador; Distancia = Elemento.Distancia; NombreElemento = Elemento.NombreElemento; Descripcion = Elemento.Descripcion; NumCasillero = Elemento.NumCasillero; Id = Elemento.Id; } else { Elemento = new ElementoModelo(); } var idEmpresa = Application.Current.Properties["idEmpresa"] as string;; var url = GlobalSettings.BASE_URL + GlobalSettings.TIEMPO_MAX_RESERVA + idEmpresa; var empresa = new EmpresaModelo(); var getUbicaciones = new GetService <EmpresaModelo>(url); Tuple <bool, string> ans = await getUbicaciones.SendRequest(empresa); if (ans.Item1) { EmpresaModelo tiempo = JsonConvert.DeserializeObject <EmpresaModelo>(ans.Item2); Tiempo = tiempo.TiempoMaxReserva; } }
private async Task listarDispensadores() { var idEmpresa = Application.Current.Properties["idEmpresa"]; var idUsuario = Application.Current.Properties["UserID"]; var url = GlobalSettings.BASE_URL + GlobalSettings.DISPENSADORES_URL + idEmpresa + '/' + idUsuario; var dispensador = new DispensadorModelo(); var getDispensador = new GetService <DispensadorModelo>(url); Tuple <bool, string> ans = await getDispensador.SendRequest(dispensador); if (ans.Item1) { List <DispensadorModelo> listaDispensadores = JsonConvert.DeserializeObject <List <DispensadorModelo> >(ans.Item2); try { var position = await Geolocation.GetLastKnownLocationAsync();//gt current location if (position != null) { var locator = CrossGeolocator.Current; locator.DesiredAccuracy = 50; //var position = await locator.GetPositionAsync(); //var position = await Geolocation.GetLastKnownLocationAsync(); Location locacionUsuario = new Location(position.Latitude, position.Longitude); var numDispensadores = listaDispensadores.Count; NumeroTotalEquipos = 0; for (int i = 0; i < numDispensadores; i++) { Location dispensadorLocacion = new Location(listaDispensadores[i].Latitud, listaDispensadores[i].Longitud); listaDispensadores[i].Distancia = Math.Round(Location.CalculateDistance(dispensadorLocacion, locacionUsuario, DistanceUnits.Kilometers), 1); NumeroTotalEquipos = NumeroTotalEquipos + listaDispensadores[i].NumEquipos; } listaDispensadores = listaDispensadores.OrderBy(item => item.Distancia).ToList <DispensadorModelo>(); } } catch (FeatureNotSupportedException fnsEx) { await Application.Current.MainPage.DisplayAlert("Error", "Tu telefono no tiene gps", "OK"); } catch (FeatureNotEnabledException fneEx) { await Application.Current.MainPage.DisplayAlert("Error", "No tienes encendido el gps", "OK"); } catch (PermissionException pEx) { await Application.Current.MainPage.DisplayAlert("Error", "Debes conceder los permisos para acceder a tu ubicacion", "OK"); } catch (Exception ex) { await Application.Current.MainPage.DisplayAlert("Error", "No pudimos detectar tu ubicacion", "OK"); } Dispensadores = new ObservableCollection <DispensadorModelo>(listaDispensadores);//displego la lista de dispensadores en la vista } }
private async Task listarEmpresas() { var url = GlobalSettings.BASE_URL + GlobalSettings.LISTAR_EMPRESAS; var empresa = new EmpresaModelo(); var getEmpresa = new GetService <EmpresaModelo>(url); Tuple <bool, string> ans = await getEmpresa.SendRequest(empresa); if (ans.Item1) { List <EmpresaModelo> empresas = JsonConvert.DeserializeObject <List <EmpresaModelo> >(ans.Item2); ListaEmpresas = new ObservableCollection <EmpresaModelo>(empresas); } }
private async Task ubicacionesCasilleros(int idDispensador) { var url = GlobalSettings.BASE_URL + GlobalSettings.ELEMENTOS + idDispensador + "/1"; //Bug del servicio, no esta validando por usuario solo por casillero , por eso le queme un numero var ubicacion = new ElementoModelo(); var getUbicaciones = new GetService <ElementoModelo>(url); Tuple <bool, string> ans = await getUbicaciones.SendRequest(ubicacion); if (ans.Item1) { List <ElementoModelo> listadoElementos = JsonConvert.DeserializeObject <List <ElementoModelo> >(ans.Item2); Elementos = new ObservableCollection <ElementoModelo>(listadoElementos); } }
private async Task EquipoDisponibles() { var idUsuario = Application.Current.Properties["UserID"] as string; var parameters = GlobalSettings.BASE_URL + GlobalSettings.TIPO_EQUIPO_DISPONIBLE_USUARIO + idUsuario; var tipoEquipo = new TipoElementoModelo(); var servicioGetTipoEquipo = new GetService <TipoElementoModelo>(parameters); Tuple <bool, string> ans = await servicioGetTipoEquipo.SendRequest(tipoEquipo); if (ans.Item1) { List <TipoElementoModelo> dispositivos = JsonConvert.DeserializeObject <List <TipoElementoModelo> >(ans.Item2); for (int i = 0; i < dispositivos.Count; i++) { var path = dispositivos[i].PathImagen; dispositivos[i].PathImagen = GlobalSettings.BASE_URL_IMG + path + ".jsf"; } DispositivosDisponibles = new ObservableCollection <TipoElementoModelo>(dispositivos); } }