Exemplo n.º 1
0
        private Expression <Func <Playerstatistic, bool> > GetQuickFilterPredicate()
        {
            var predicate = PredicateBuilder.True <Playerstatistic>();

            foreach (var stat in QuickFilterCollection.Where(x => x.CurrentTriState != EnumTriState.Any))
            {
                if (stat.QuickFilterHandType == QuickFilterHandTypeEnum.FlushDrawOnFlop || stat.QuickFilterHandType == QuickFilterHandTypeEnum.StraightDrawOnFlop)
                {
                    predicate = predicate.And(x => Convert.ToBoolean(ReflectionHelper.GetMemberValue(x, stat.YesPropertyName)));

                    var drawPredicate = GetHandPredicate(stat.QuickFilterHandType);

                    if (stat.CurrentTriState == EnumTriState.Off)
                    {
                        drawPredicate = PredicateBuilder.Not(drawPredicate);
                    }

                    predicate = predicate.And(drawPredicate);

                    continue;
                }

                if (!string.IsNullOrWhiteSpace(stat.YesPropertyName))
                {
                    switch (stat.CurrentTriState)
                    {
                    case EnumTriState.On:
                        predicate = predicate.And(x => Convert.ToBoolean(ReflectionHelper.GetMemberValue(x, stat.YesPropertyName)));
                        break;

                    case EnumTriState.Off:
                        predicate = predicate.And(x => !Convert.ToBoolean(ReflectionHelper.GetMemberValue(x, stat.YesPropertyName)));
                        if (!string.IsNullOrWhiteSpace(stat.NoPropertyName))
                        {
                            predicate = predicate.And(x => Convert.ToBoolean(ReflectionHelper.GetMemberValue(x, stat.NoPropertyName)));
                        }
                        break;

                    case EnumTriState.Any:
                        break;
                    }
                }

                if (stat.QuickFilterPosition.HasValue)
                {
                    predicate = predicate.And(GetPositionPredicate(stat.QuickFilterPosition.Value));
                }

                if (stat.QuickFilterHandType != QuickFilterHandTypeEnum.None)
                {
                    predicate = predicate.And(GetHandPredicate(stat.QuickFilterHandType));
                }
            }

            return(predicate);
        }
Exemplo n.º 2
0
        private void ResetQuickFilterCollectionTo(IEnumerable <QuickFilterItem> quickFilterList)
        {
            foreach (var filter in quickFilterList)
            {
                var cur = QuickFilterCollection.FirstOrDefault(x => x.Name == filter.Name);

                if (cur != null && cur.CurrentTriState != filter.CurrentTriState)
                {
                    cur.CurrentTriState = filter.CurrentTriState;
                }
            }
        }
Exemplo n.º 3
0
 public void ResetFastFilterCollection()
 {
     QuickFilterCollection.ToList().ForEach(x => x.CurrentTriState = EnumTriState.Any);
 }