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."); } } }