private void SetDateItems()
        {
            if (DateModel == null)
            {
                return;
            }

            FilterSectionItem filterSectionItem = this.FilterSectionCollection.FirstOrDefault(x => x.ItemType == EnumFilterSectionItemType.Date);

            switch (DateModel.DateFilterType.EnumDateRange)
            {
            case EnumDateFiterStruct.EnumDateFiter.Today:
                filterSectionItem.Name     = "Today";
                filterSectionItem.IsActive = true;
                break;

            case EnumDateFiterStruct.EnumDateFiter.ThisWeek:
                filterSectionItem.Name     = "This Week";
                filterSectionItem.IsActive = true;
                break;

            case EnumDateFiterStruct.EnumDateFiter.ThisMonth:
                filterSectionItem.Name     = "This Month";
                filterSectionItem.IsActive = true;
                break;

            case EnumDateFiterStruct.EnumDateFiter.LastMonth:
                filterSectionItem.Name     = "Last Month";
                filterSectionItem.IsActive = true;
                break;

            case EnumDateFiterStruct.EnumDateFiter.ThisYear:
                filterSectionItem.Name     = "This Year";
                filterSectionItem.IsActive = true;
                break;

            case EnumDateFiterStruct.EnumDateFiter.CustomDateRange:
                if (DateModel.DateFilterType.DateFrom <= DateModel.DateFilterType.DateTo)
                {
                    filterSectionItem.Name = DateModel.DateFilterType.DateFrom.Date.ToShortDateString()
                                             + " - "
                                             + DateModel.DateFilterType.DateTo.Date.ToShortDateString();
                }
                else
                {
                    filterSectionItem.Name = DateModel.DateFilterType.DateTo.Date.ToShortDateString()
                                             + " - "
                                             + DateModel.DateFilterType.DateFrom.Date.ToShortDateString();
                }


                filterSectionItem.IsActive = true;
                break;

            default:
                filterSectionItem.IsActive = false;
                break;
            }
        }
        private void RemoveAdvancedFilterItem(FilterSectionItem param)
        {
            if (param.ItemType != EnumFilterSectionItemType.AdvancedFilterItem ||
                string.IsNullOrEmpty(param.Name))
            {
                return;
            }

            AdvancedFilterModel?.SelectedFilters.RemoveByCondition(x => x.ToolTip == param.Name);
        }
        private void SetHandActionItems(Street street)
        {
            FilterSectionItem filterSectionItem = null;
            var button = HandActionModel.GetButonsCollectionForStreet(street).FirstOrDefault(x => x.IsChecked);
            IEnumerable <HandActionFilterItem> collection = null;

            string filterSectionItemString = string.Empty;

            switch (street)
            {
            case Street.Preflop:
                filterSectionItem       = this.FilterSectionCollection.FirstOrDefault(x => x.ItemType == EnumFilterSectionItemType.PreflopHandActionItem);
                filterSectionItemString = "Preflop Action";
                break;

            case Street.Flop:
                filterSectionItem       = this.FilterSectionCollection.FirstOrDefault(x => x.ItemType == EnumFilterSectionItemType.FlopHandActionItem);
                filterSectionItemString = "Flop Action";
                break;

            case Street.Turn:
                filterSectionItem       = this.FilterSectionCollection.FirstOrDefault(x => x.ItemType == EnumFilterSectionItemType.TurnHandActionItem);
                filterSectionItemString = "Turn Action";
                break;

            case Street.River:
                filterSectionItem       = this.FilterSectionCollection.FirstOrDefault(x => x.ItemType == EnumFilterSectionItemType.RiverHandActionItem);
                filterSectionItemString = "River Action";
                break;

            default:
                return;
            }

            if (button == null)
            {
                filterSectionItem.IsActive = false;
                return;
            }

            collection = HandActionModel.GetItemsCollectionForStreet(street).Where(x => x.BeginningActionType == button.HandActionType);
            var selectedActions = collection.Where(x => x.IsChecked);

            if (selectedActions == null || selectedActions.Count() == 0)
            {
                filterSectionItem.IsActive = false;
                return;
            }

            var handActionItemsString = String.Join("+", selectedActions.Select(x => x.ToString().Trim()));

            filterSectionItem.Name     = String.Format("{0}={1}", filterSectionItemString, handActionItemsString);
            filterSectionItem.IsActive = true;
        }
        private void RemoveStatItem(FilterSectionItem param)
        {
            if (param.ItemType != EnumFilterSectionItemType.Stat || string.IsNullOrEmpty(param.Value))
            {
                return;
            }

            var filterItemValue = param.Value;
            var statItem        = StandardModel?.StatCollection.FirstOrDefault(x => x.PropertyName == filterItemValue);

            if (statItem != null)
            {
                statItem.CurrentTriState = EnumTriState.Any;
            }
        }
        private void SetTableItem(FilterSectionItem filterSectionItem, ObservableCollection <TableRingItem> collection, string formatString)
        {
            var selectedTableItems = collection.Where(x => x.IsChecked);

            if (selectedTableItems == null || collection.All(x => x.IsChecked) || collection.All(x => !x.IsChecked))
            {
                filterSectionItem.IsActive = false;
                return;
            }

            var tableItemsString = string.Join(",", selectedTableItems.Select(x => x.Name));

            filterSectionItem.Name     = string.Format(formatString, tableItemsString);
            filterSectionItem.IsActive = true;
        }
        private void SetPreFlopActionItems()
        {
            FilterSectionItem filterSectionItem = this.FilterSectionCollection.FirstOrDefault(x => x.ItemType == EnumFilterSectionItemType.PreFlopAction);
            var selectedPreFlopItems            = StandardModel?.PreFlopActionCollection.Where(x => x.IsChecked);

            if (selectedPreFlopItems == null || StandardModel == null || !StandardModel.PreFlopActionCollection.Any(x => !x.IsChecked))
            {
                filterSectionItem.IsActive = false;
                return;
            }

            var preFlopItemsString = String.Join(",", selectedPreFlopItems.Select(x => x.Name.Trim()));

            filterSectionItem.Name     = String.Format("Pre-flop Action Facing Hero={0}", preFlopItemsString);
            filterSectionItem.IsActive = true;
        }
        private void SetHoleCardsItems()
        {
            FilterSectionItem filterSectionItem = this.FilterSectionCollection.FirstOrDefault(x => x.ItemType == EnumFilterSectionItemType.HoleCards);
            var selectedHoleCards = HoleCardsModel.HoleCardsCollection.Where(x => x.IsChecked);

            if (selectedHoleCards == null || !HoleCardsModel.HoleCardsCollection.Any(x => !x.IsChecked))
            {
                filterSectionItem.IsActive = false;
                return;
            }

            string selectedHoleCardsString = String.Join(",", CardHelper.GetHandsFormatted(selectedHoleCards.Select(x => x.Name).ToList()));

            filterSectionItem.Name     = String.Format("Hole Cards={0}", selectedHoleCardsString);
            filterSectionItem.IsActive = true;
        }
        private void RemoveHandValueFastFilterItem(FilterSectionItem param)
        {
            if (param.ItemType != EnumFilterSectionItemType.HandValueFastFilter || string.IsNullOrEmpty(param.Value))
            {
                return;
            }

            var filterItemValue = param.Value;

            var fastFilterItem = HandValueModel.FastFilterCollection.FirstOrDefault(x => x.Name == filterItemValue);

            if (fastFilterItem != null)
            {
                fastFilterItem.CurrentTriState = EnumTriState.Any;
            }
        }
        private void SetCurrencyItems()
        {
            FilterSectionItem filterSectionItem = this.FilterSectionCollection.FirstOrDefault(x => x.ItemType == EnumFilterSectionItemType.Currency);
            var selectedCurrencyItems           = StandardModel?.CurrencyCollection.Where(x => x.IsChecked);

            if (selectedCurrencyItems == null || !StandardModel.CurrencyCollection.Any(x => !x.IsChecked))
            {
                filterSectionItem.IsActive = false;
                return;
            }

            var currencyItemsString = String.Join("+", selectedCurrencyItems.Select(x => x.Name));

            filterSectionItem.Name     = String.Format("Currency={0}", currencyItemsString);
            filterSectionItem.IsActive = true;
        }
        private void SetStakeLevelItems()
        {
            FilterSectionItem filterSectionItem = this.FilterSectionCollection.FirstOrDefault(x => x.ItemType == EnumFilterSectionItemType.StakeLevel);

            var selectedStakeLevels = StandardModel?.StakeLevelCollection.Where(x => x.IsChecked);

            if (selectedStakeLevels == null || !StandardModel.StakeLevelCollection.Any(x => !x.IsChecked))
            {
                filterSectionItem.IsActive = false;
                return;
            }

            var stakesString = String.Join(",", selectedStakeLevels.Select(x => x.Name.Trim()));

            filterSectionItem.Name     = String.Format("Stakes={0}", stakesString);
            filterSectionItem.IsActive = true;
        }
        private void SetOmahaHandGridItems()
        {
            FilterSectionItem filterSectionItem = this.FilterSectionCollection.FirstOrDefault(x => x.ItemType == EnumFilterSectionItemType.OmahaHandGridItem);

            var selectedHandItems = OmahaHandGridModel.HandGridCollection.Where(x => x.IsChecked);

            if (selectedHandItems == null || selectedHandItems.Count() == 0)
            {
                filterSectionItem.IsActive = false;
                return;
            }

            var handItemsString = String.Join("+", selectedHandItems.Select(x => x.ToString().Trim()));

            filterSectionItem.Name     = String.Format("Omaha Hole Cards={0}", handItemsString);
            filterSectionItem.IsActive = true;
        }
        private void RemoveBoardTextureItem(FilterSectionItem param)
        {
            switch (param.ItemType)
            {
            case EnumFilterSectionItemType.FlopBoardTextureItem:
                BoardTextureModel.ResetFlopBoardTextureCollection();
                break;

            case EnumFilterSectionItemType.TurnBoardTextureItem:
                BoardTextureModel.ResetTurnBoardTextureCollection();
                break;

            case EnumFilterSectionItemType.RiverBoardTextureItem:
                BoardTextureModel.ResetRiverBoardTextureCollection();
                break;
            }
        }
        private void RemoveHandValueItem(FilterSectionItem param)
        {
            switch (param.ItemType)
            {
            case EnumFilterSectionItemType.FlopHandValue:
                HandValueModel.ResetFlopHandValuesCollection();
                break;

            case EnumFilterSectionItemType.TurnHandValue:
                HandValueModel.ResetTurnHandValuesCollection();
                break;

            case EnumFilterSectionItemType.RiverHandValue:
                HandValueModel.ResetRiverHandValuesCollection();
                break;
            }
        }
        private void SetBoardCardItems(Street street)
        {
            FilterSectionItem           filterSectionItem = null;
            IEnumerable <BoardCardItem> collection;
            string filterSectionItemString = string.Empty;

            switch (street)
            {
            case Street.Flop:
                filterSectionItem       = this.FilterSectionCollection.FirstOrDefault(x => x.ItemType == EnumFilterSectionItemType.FlopBoardCardItem);
                filterSectionItemString = "Specific Flop";
                collection = BoardTextureModel.FlopCardItemsCollection;
                break;

            case Street.Turn:
                filterSectionItem       = this.FilterSectionCollection.FirstOrDefault(x => x.ItemType == EnumFilterSectionItemType.TurnBoardCardItem);
                filterSectionItemString = "Specific Flop+Turn";
                collection = BoardTextureModel.TurnCardItemsCollection;
                break;

            case Street.River:
                filterSectionItem       = this.FilterSectionCollection.FirstOrDefault(x => x.ItemType == EnumFilterSectionItemType.RiverBoardCardItem);
                filterSectionItemString = "Specific Full Board";
                collection = BoardTextureModel.RiverCardItemsCollection;
                break;

            default:
                return;
            }

            var selectedHandValues = collection.Where(x => x.Suit != RangeCardSuit.None);

            if (selectedHandValues == null || selectedHandValues.Count() == 0)
            {
                filterSectionItem.IsActive = false;
                return;
            }


            var handValueItemsString = String.Join("+", selectedHandValues.Select(x => x.ToString().Trim()));

            filterSectionItem.Name     = String.Format("{0}={1}", filterSectionItemString, handValueItemsString);
            filterSectionItem.IsActive = true;
        }
        private void SetHandValueItems(Street street)
        {
            FilterSectionItem           filterSectionItem = null;
            IEnumerable <HandValueItem> collection;
            string filterSectionItemString = string.Empty;

            switch (street)
            {
            case Street.Flop:
                filterSectionItem       = this.FilterSectionCollection.FirstOrDefault(x => x.ItemType == EnumFilterSectionItemType.FlopHandValue);
                filterSectionItemString = "Flop Hands";
                collection = HandValueModel.FlopHandValuesCollection;
                break;

            case Street.Turn:
                filterSectionItem       = this.FilterSectionCollection.FirstOrDefault(x => x.ItemType == EnumFilterSectionItemType.TurnHandValue);
                filterSectionItemString = "Turn Hands";
                collection = HandValueModel.TurnHandValuesCollection;
                break;

            case Street.River:
                filterSectionItem       = this.FilterSectionCollection.FirstOrDefault(x => x.ItemType == EnumFilterSectionItemType.RiverHandValue);
                filterSectionItemString = "River Hands";
                collection = HandValueModel.RiverHandValuesCollection;
                break;

            default:
                return;
            }

            var selectedHandValues = collection.Where(x => x.IsChecked);

            if (selectedHandValues == null || selectedHandValues.Count() == 0)
            {
                filterSectionItem.IsActive = false;
                return;
            }


            var handValueItemsString = String.Join("+", selectedHandValues.Select(x => x.Name.Trim()));

            filterSectionItem.Name     = String.Format("{0}={1}", filterSectionItemString, handValueItemsString);
            filterSectionItem.IsActive = true;
        }
        private void RemoveHandActionItem(FilterSectionItem param)
        {
            switch (param.ItemType)
            {
            case EnumFilterSectionItemType.PreflopHandActionItem:
                HandActionModel.ResetPreflopFilter();
                break;

            case EnumFilterSectionItemType.FlopHandActionItem:
                HandActionModel.ResetFlopFilter();
                break;

            case EnumFilterSectionItemType.TurnHandActionItem:
                HandActionModel.ResetTurnFilter();
                break;

            case EnumFilterSectionItemType.RiverHandActionItem:
                HandActionModel.ResetRiverFilter();
                break;
            }
        }
        private void SetStatItems()
        {
            if (StandardModel == null)
            {
                return;
            }

            foreach (var triStateItem in StandardModel.StatCollection)
            {
                var filterSectionItem = this.FilterSectionCollection.FirstOrDefault(x => !string.IsNullOrEmpty(x.Value) && x.Value == triStateItem.PropertyName);
                var state             = triStateItem.CurrentTriState;
                if (state == EnumTriState.Any && filterSectionItem != null)
                {
                    /* Make element not active instead of removing it because tooltip is losing its style after element is being removed */
                    filterSectionItem.IsActive = false;
                    continue;
                }

                if (state != EnumTriState.Any)
                {
                    FilterSectionItem newFilterSectionItem;
                    if (filterSectionItem != null)
                    {
                        newFilterSectionItem = filterSectionItem;
                    }
                    else
                    {
                        newFilterSectionItem = new FilterSectionItem()
                        {
                            ItemType = EnumFilterSectionItemType.Stat, Value = triStateItem.PropertyName
                        };
                        this.FilterSectionCollection.Add(newFilterSectionItem);
                    }

                    newFilterSectionItem.Name     = String.Format("{0}={1}", triStateItem.Name, state == EnumTriState.On ? "Yes" : "No");
                    newFilterSectionItem.IsActive = true;
                }
            }
        }
        private void RemoveTableRingItem(FilterSectionItem param)
        {
            switch (param.ItemType)
            {
            case EnumFilterSectionItemType.TableSixRing:
                StandardModel?.ResetTableRingCollection(EnumTableType.Six, PreflopActorPosition.Hero);
                break;

            case EnumFilterSectionItemType.TableNineRing:
                StandardModel?.ResetTableRingCollection(EnumTableType.Nine, PreflopActorPosition.Hero);
                break;

            case EnumFilterSectionItemType.RaiserSixRing:
                StandardModel?.ResetTableRingCollection(EnumTableType.Six, PreflopActorPosition.Raiser);
                break;

            case EnumFilterSectionItemType.RaiserNineRing:
                StandardModel?.ResetTableRingCollection(EnumTableType.Nine, PreflopActorPosition.Raiser);
                break;

            case EnumFilterSectionItemType.ThreeBettorSixRing:
                StandardModel?.ResetTableRingCollection(EnumTableType.Six, PreflopActorPosition.ThreeBettor);
                break;

            case EnumFilterSectionItemType.ThreeBettorNineRing:
                StandardModel?.ResetTableRingCollection(EnumTableType.Nine, PreflopActorPosition.ThreeBettor);
                break;

            case EnumFilterSectionItemType.FourBettorSixRing:
                StandardModel?.ResetTableRingCollection(EnumTableType.Six, PreflopActorPosition.FourBettor);
                break;

            case EnumFilterSectionItemType.FourBettorNineRing:
                StandardModel?.ResetTableRingCollection(EnumTableType.Nine, PreflopActorPosition.FourBettor);
                break;
            }
        }
Exemple #19
0
 public ResetFiltersEventArgs(FilterSectionItem param)
 {
     this.FilterSection = param;
 }
        public void RemoveBuiltFilterItem(FilterSectionItem param)
        {
            switch (param.ItemType)
            {
            case EnumFilterSectionItemType.StakeLevel:
                RemoveStakeLevelItem();
                break;

            case EnumFilterSectionItemType.Buyin:
                RemoveBuyinItem();
                break;

            case EnumFilterSectionItemType.PreFlopAction:
                RemovePreFlopActionItem();
                break;

            case EnumFilterSectionItemType.Currency:
                RemoveCurrencyItem();
                break;

            case EnumFilterSectionItemType.Stat:
                RemoveStatItem(param);
                break;

            case EnumFilterSectionItemType.TableSixRing:
            case EnumFilterSectionItemType.TableNineRing:
            case EnumFilterSectionItemType.RaiserSixRing:
            case EnumFilterSectionItemType.RaiserNineRing:
            case EnumFilterSectionItemType.ThreeBettorSixRing:
            case EnumFilterSectionItemType.ThreeBettorNineRing:
            case EnumFilterSectionItemType.FourBettorSixRing:
            case EnumFilterSectionItemType.FourBettorNineRing:
                RemoveTableRingItem(param);
                break;

            case EnumFilterSectionItemType.PlayersBetween:
                RemovePlayersBetweenItem();
                break;

            case EnumFilterSectionItemType.HoleCards:
                RemoveHoleCardsItem();
                break;

            case EnumFilterSectionItemType.HandValueFastFilter:
                RemoveHandValueFastFilterItem(param);
                break;

            case EnumFilterSectionItemType.FlopHandValue:
            case EnumFilterSectionItemType.TurnHandValue:
            case EnumFilterSectionItemType.RiverHandValue:
                RemoveHandValueItem(param);
                break;

            case EnumFilterSectionItemType.Date:
                RemoveDateItem();
                break;

            case EnumFilterSectionItemType.FlopBoardCardItem:
            case EnumFilterSectionItemType.TurnBoardCardItem:
            case EnumFilterSectionItemType.RiverBoardCardItem:
                RemoveBoardCardItem(param);
                break;

            case EnumFilterSectionItemType.FlopBoardTextureItem:
            case EnumFilterSectionItemType.TurnBoardTextureItem:
            case EnumFilterSectionItemType.RiverBoardTextureItem:
                RemoveBoardTextureItem(param);
                break;

            case EnumFilterSectionItemType.PreflopHandActionItem:
            case EnumFilterSectionItemType.FlopHandActionItem:
            case EnumFilterSectionItemType.TurnHandActionItem:
            case EnumFilterSectionItemType.RiverHandActionItem:
                RemoveHandActionItem(param);
                break;

            case EnumFilterSectionItemType.OmahaHandGridItem:
                RemoveOmahaHandGridItem();
                break;

            case EnumFilterSectionItemType.QuickFilterItem:
                RemoveQuickFilterItem(param);
                break;

            case EnumFilterSectionItemType.AdvancedFilterItem:
                RemoveAdvancedFilterItem(param);
                break;
            }
        }