// ============================================================================================== // // Eventos UI -> Contenido // ============================================================================================== // // Métodos Helper 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.GenerarFrameLabelMesa((byte)(c + 1), (byte)(f + 1)), c * 2, f * 2); } } foreach (var mesa in Global.Mesas) { var mesaMapaGrid = (Label) MapaGrid.Children .Where(c => ((Frame)c).Content.BindingContext.ToString() == $"{mesa.SitioX}.{mesa.SitioY}") .Select(c => ((Frame)c).Content) .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(); }