AcManager.UserControls.RaceGridEditorColumn.RaceGridEditorColumn C# (CSharp) Method

RaceGridEditorColumn() public method

public RaceGridEditorColumn ( ) : System
return System
        public RaceGridEditorColumn() {
            InputBindings.AddRange(new[] {
                new InputBinding(new DelegateCommand(() => {
                    if (SelectCarPopup.IsOpen) {
                        var model = Model;
                        var selectCar = (SelectCarPopup.Content as DependencyObject)?.FindLogicalChild<SelectCar>();
                        if (model == null || selectCar == null) return;

                        foreach (var car in selectCar.GetSelectedCars().ToList()) {
                            var entry = model.FilteredView.OfType<RaceGridEntry>().LastOrDefault(x => x.Car == car);
                            if (entry != null) {
                                model.DeleteEntry(entry);
                            }
                        }
                    } else if (DetailsPopup.IsOpen) {
                        var dataGrid = (DetailsPopup.Content as FrameworkElement)?.FindVisualChild<DataGrid>();
                        if (dataGrid == null) return;

                        foreach (var entry in dataGrid.SelectedItems.OfType<RaceGridEntry>().ToList()) {
                            entry.DeleteCommand.Execute(null);
                        }
                    } else {
                        foreach (var entry in ListBox.SelectedItems.OfType<RaceGridEntry>().ToList()) {
                            entry.DeleteCommand.Execute(null);
                        }
                    }
                }), new KeyGesture(Key.Delete)),
                new InputBinding(new DelegateCommand(() => {
                    if (SelectCarPopup.IsOpen) {
                        AddOpponentCarCommand.Execute(null);
                    }
                }), new KeyGesture(Key.Enter)),
            });
            InitializeComponent();
            SelectCarPopup.CustomPopupPlacementCallback = CustomPopupPlacementCallback;
            DetailsPopup.CustomPopupPlacementCallback = CustomPopupPlacementCallback;
        }