Ejemplo n.º 1
0
        private void OnAutoRange(object obj)
        {
            if (source == null || !(_notification.CardsContainer is PlayerModel playerModel))
            {
                return;
            }

            var heroAutoRange = source.GetHeroAutoRange(playerModel.PlayerName);

            if (heroAutoRange == null)
            {
                return;
            }

            var mergeResult = (from range in PreflopSelectorItems
                               join heroRange in heroAutoRange on range.Caption equals heroRange.Caption
                               select new { Existing = range, Auto = heroRange }).ToArray();

            PreflopSelectorItems.ChangeTrackingEnabled = false;

            PreflopSelectorItems.ForEach(x =>
            {
                x.IsSelected = false;
            });

            foreach (var mergeItem in mergeResult)
            {
                mergeItem.Existing.IsSelected = true;
                mergeItem.Existing.SetEquitySelectionMode(mergeItem.Auto.EquitySelectionMode);

                var handSuitsMergeResult = (from existingHandSuit in mergeItem.Existing.HandSuitsModelList
                                            join autoHandSuit in mergeItem.Auto.HandSuitsModelList on existingHandSuit.HandSuit equals autoHandSuit.HandSuit
                                            select new { Existing = existingHandSuit, Auto = autoHandSuit }).ToArray();

                handSuitsMergeResult.ForEach(x =>
                {
                    x.Existing.SelectionMode = x.Auto.SelectionMode;
                });

                mergeItem.Existing.HandUpdate();
            }

            PreflopSelectorItems.ChangeTrackingEnabled = true;

            UpdateSlider();
            CombosRaisePropertyChanged();
        }