Beispiel #1
0
        protected async override void OnAppearing()
        {
            int x = Navigation.NavigationStack.IndexOf(this) - 1;

            if (x >= 0)
            {
                var previousPage = Navigation.NavigationStack[Navigation.NavigationStack.IndexOf(this) - 1];
                Navigation.RemovePage(previousPage);
            }

            base.OnAppearing();

            if (Application.Current.Properties.ContainsKey("Usuario"))
            {
                Clientes cliente = JsonConvert.DeserializeObject <Clientes>(Application.Current.Properties["Usuario"].ToString());
                string   pedidos = await Pedidos_Controller.GetPedidosOnly(cliente.id_Clientes);

                Application.Current.Properties["Pedidos"] = pedidos;
                await Application.Current.SavePropertiesAsync();
            }

            if (Application.Current.Properties.ContainsKey("Usuario_Estacion"))
            {
                List <Estacion> estacion = JsonConvert.DeserializeObject <List <Estacion> >(Application.Current.Properties["Usuario_Estacion"].ToString());
                string          pedidos  = await Pedidos_Controller.GetPedidosEstacion(estacion[0].id_Cliente, estacion[0].Numero_Estacion);

                Application.Current.Properties["Pedidos"] = pedidos;
                await Application.Current.SavePropertiesAsync();
            }


            if (Application.Current.Properties.ContainsKey("Token_Password"))
            {
                Application.Current.Properties["Token_Password"] = "";
                await Application.Current.SavePropertiesAsync();
            }

            ListaElementos elementos = new ListaElementos();

            detallesPedido.ItemsSource = elementos.pedidosAgendados;
        }
        private async void Button_Clicked(object sender, EventArgs e)
        {
            int             numEstacion = 0;
            List <Estacion> estacion    = null;
            Clientes        cliente     = null;
            string          email       = "";
            string          json        = "";

            if (string.IsNullOrEmpty(Usuario.Text) || string.IsNullOrEmpty(Password.Text))
            {
                await DisplayAlert("Un momento...", "Llenar todos los campos.", "Ok");
            }

            else
            {
                string password = Password.Text.ToString().ToLower();
                if (Regex.IsMatch(Usuario.Text.ToString(), @"^\d+$"))
                {
                    numEstacion = Int32.Parse(Usuario.Text.ToString());
                    json        = await API.Login.IniciarSesion(numEstacion, password);

                    estacion = JsonConvert.DeserializeObject <List <Estacion> >(json);
                }

                else
                {
                    email = Usuario.Text.ToString().ToLower();
                    json  = await API.Login.IniciarSesion(email, password);

                    cliente = JsonConvert.DeserializeObject <Clientes>(json);
                }


                //List<Pedido> listado = await API.Login.Pedidos();
                //Cliente cliente = await API.Login.IniciarSesion(email, password);


                if (cliente != null)
                {
                    //Información del usuario logeado
                    Application.Current.Properties["Usuario"] = json;
                    //Información de las estaciones del usuario logeado
                    //string estaciones = await Estaciones_Controller.GetEstacionesPorId(cliente.id_Clientes.ToString());
                    string pedidos = await Pedidos_Controller.GetPedidosOnly(cliente.id_Clientes);

                    Application.Current.Properties["Pedidos"] = pedidos;
                    //Application.Current.Properties["Estaciones"] = estaciones;
                    await Application.Current.SavePropertiesAsync();

                    await((NavigationPage)this.Parent).PushAsync(new MainPage());  //MainPage
                    //await Navigation.PopAsync();
                }

                else if (estacion != null)
                {
                    //Información del usuario logeado
                    Application.Current.Properties["Usuario_Estacion"] = json;
                    string pedidos = await Pedidos_Controller.GetPedidosEstacion(estacion[0].id_Cliente, estacion[0].Numero_Estacion);

                    Application.Current.Properties["Pedidos"] = pedidos;
                    //Application.Current.Properties["Estaciones"] = estaciones;
                    await Application.Current.SavePropertiesAsync();

                    await((NavigationPage)this.Parent).PushAsync(new MainPage());  //MainPage
                }

                else
                {
                    await DisplayAlert("Algún dato erroneo.", "Cliente no encontrado.", "Reintentar.");
                }
            }
        }