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;
            }
        }
示例#2
0
        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
            }
        }
示例#3
0
        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);
            }
        }
示例#4
0
        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);
            }
        }
示例#5
0
        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);
            }
        }