// ============================================================================================== // // Métodos Procesar private async void ActualizarMapaMesas() { await Global.Get_Mesas(); UserDialogs.Instance.ShowLoading("Actualizando mapa mesas..."); await Device.InvokeOnMainThreadAsync(() => { MapaGrid.ColumnDefinitions.Clear(); MapaGrid.RowDefinitions.Clear(); for (int c = 0; c < Global.AnchoMapaMesas - 1; c++) { MapaGrid.ColumnDefinitions.Add(new()); MapaGrid.ColumnDefinitions.Add(new(){ Width = new(ESPACIO_ENTRE_MESAS) }); } MapaGrid.ColumnDefinitions.Add(new()); for (int f = 0; f < Global.AltoMapaMesas - 1; f++) { MapaGrid.RowDefinitions.Add(new()); MapaGrid.RowDefinitions.Add(new(){ Height = new(ESPACIO_ENTRE_MESAS) }); } MapaGrid.RowDefinitions.Add(new()); MapaGrid.Children.Clear(); for (int c = 0; c < Global.AnchoMapaMesas; c++) { for (int f = 0; f < Global.AltoMapaMesas; f++) { MapaGrid.Children.Add( Global.GenerarBotonMesa((byte)(c + 1), (byte)(f + 1), MesaPulsada), c * 2, f * 2); } } foreach (var mesa in Global.Mesas) { var mesaMapaGrid = (Button) MapaGrid.Children .Where(c => c.BindingContext.ToString() == $"{mesa.SitioX}.{mesa.SitioY}") .Single(); mesaMapaGrid.Text = mesa.Numero.ToString(); switch (mesa.EstadoMesa) { case EstadosMesa.Vacia: { mesaMapaGrid.BackgroundColor = Color.LimeGreen; mesaMapaGrid.TextColor = Color.Black; break; } case EstadosMesa.Esperando: { mesaMapaGrid.BackgroundColor = Color.Red; mesaMapaGrid.TextColor = Color.White; break; } case EstadosMesa.Ocupada: { mesaMapaGrid.BackgroundColor = Color.Black; mesaMapaGrid.TextColor = Color.White; break; } case EstadosMesa.Sucia: { mesaMapaGrid.BackgroundColor = Color.DarkOrange; mesaMapaGrid.TextColor = Color.White; break; } } } }); UserDialogs.Instance.HideLoading(); }