using System; using System.Windows; using System.Windows.Controls; using System.Windows.Controls.Primitives; using System.Windows.Media; using Gestor.Common.Validation; using Gestor.Model.Common; namespace Gestor.Application.Helpers; public static class DataGridExtensions { public static T GetVisualChild(Visual parent) where T : Visual { //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Expected O, but got Unknown T val = default(T); int childrenCount = VisualTreeHelper.GetChildrenCount((DependencyObject)(object)parent); for (int i = 0; i < childrenCount; i++) { Visual val2 = (Visual)VisualTreeHelper.GetChild((DependencyObject)(object)parent, i); val = ((T)(object)((val2 is T) ? val2 : null)) ?? GetVisualChild(val2); if (val != null) { break; } } return val; } public static void EsconderToggles(this DataGrid grid, TipoTela tela, TipoToggle toggles) { //IL_0042: Unknown result type (might be due to invalid IL or missing references) //IL_0048: Expected O, but got Unknown //IL_007a: Unknown result type (might be due to invalid IL or missing references) //IL_0081: Expected O, but got Unknown //IL_008f: Unknown result type (might be due to invalid IL or missing references) //IL_00c3: Unknown result type (might be due to invalid IL or missing references) //IL_00ed: Unknown result type (might be due to invalid IL or missing references) //IL_0117: Unknown result type (might be due to invalid IL or missing references) //IL_0141: Unknown result type (might be due to invalid IL or missing references) try { foreach (object item in ((ItemsControl)grid).ItemContainerGenerator.Items) { grid.ScrollIntoView(item, grid.Columns[0]); ((UIElement)grid).UpdateLayout(); DataGridRow val = (DataGridRow)((ItemsControl)grid).ItemContainerGenerator.ContainerFromItem(item); if (val == null) { continue; } grid.ScrollIntoView((object)val, grid.Columns[4]); ((UIElement)grid).UpdateLayout(); DataGridCellsPresenter visualChild = DataGridExtensions.GetVisualChild((Visual)(object)val); DataGridCell val2 = (DataGridCell)((ItemsControl)visualChild).ItemContainerGenerator.ContainerFromIndex(0); if (val2 != null && ((object)val2).ToString().Contains(ValidationHelper.GetDescription((Enum)(object)tela))) { if (toggles.HasFlag(TipoToggle.Consultar)) { ((UIElement)(DataGridCell)((ItemsControl)visualChild).ItemContainerGenerator.ContainerFromIndex(1)).Visibility = (Visibility)1; } if (toggles.HasFlag(TipoToggle.Incluir)) { ((UIElement)(DataGridCell)((ItemsControl)visualChild).ItemContainerGenerator.ContainerFromIndex(2)).Visibility = (Visibility)1; } if (toggles.HasFlag(TipoToggle.Alterar)) { ((UIElement)(DataGridCell)((ItemsControl)visualChild).ItemContainerGenerator.ContainerFromIndex(3)).Visibility = (Visibility)1; } if (toggles.HasFlag(TipoToggle.Excluir)) { ((UIElement)(DataGridCell)((ItemsControl)visualChild).ItemContainerGenerator.ContainerFromIndex(4)).Visibility = (Visibility)1; } break; } } } catch (Exception) { } } }