public bool MatchFilter(IMatchLn matchLn)
        {
            if (!matchLn.Active.Value)
            {
                return(false);
            }

            if (matchLn.IsLiveBet.Value)
            {
                return(false);
            }

            if (matchLn.MatchView.CategoryView == null)
            {
                return(false);
            }

            if (matchLn.MatchView.VisibleBetDomainCount == 0)
            {
                return(false);
            }

            if (matchLn.MatchView.AllVisibleOddCount == 0)
            {
                return(false);
            }

            if (matchLn.ExpiryDate.Value.LocalDateTime < DateTime.Now)
            {
                return(false);
            }

            if (SelectedCategoryId != 0)
            {
                if (matchLn.MatchView.CategoryView == null || matchLn.MatchView.CategoryView.LineObject.GroupId != SelectedCategoryId)
                {
                    return(false);
                }
            }

            if (matchLn.MatchView.TournamentView != null)
            {
                if (!LineSr.IsTournamentVisible(matchLn.MatchView.TournamentView.LineObject.SvrGroupId.ToString()))
                {
                    return(false);
                }
            }

            return(true);
        }
示例#2
0
        public bool MatchFilterSportBar(IMatchLn match)
        {
            if (!match.Active.Value)
            {
                return(false);
            }

            if (match.MatchView.VisibleBetDomainCount == 0)
            {
                return(false);
            }

            if (match.MatchView.AllVisibleOddCount == 0)
            {
                return(false);
            }

            if (match.IsLiveBet.Value)
            {
                return(false);
            }

            if (match.MatchView.CategoryView == null)
            {
                return(false);
            }

            string id     = (match.MatchView.TournamentView.LineObject.GroupId.ToString());
            string tourId = match.outright_type == eOutrightType.Outright ? id + "*1" : id + "*0";

            if (SelectedTournaments.Count > 0 && !SelectedTournaments.Contains(tourId))
            {
                return(false);
            }


            if (match.ExpiryDate.Value.LocalDateTime < DateTime.Now)
            {
                return(false);
            }


            if (ChangeTracker.PreMatchSelectedMode == 1)
            {
                if (match.MatchView.StartDate < DateTime.Now)
                {
                    return(false);
                }
                if (match.MatchView.StartDate >= DateTime.Now.AddDays(1).Date)
                {
                    return(false);
                }
            }
            if (ChangeTracker.PreMatchSelectedMode == 2)
            {
                if (match.MatchView.StartDate < DateTime.Now)
                {
                    return(false);
                }
                if (match.MatchView.StartDate > DateTime.Now.AddMinutes(180))
                {
                    return(false);
                }
            }

            if (match.MatchView.TournamentView != null)
            {
                if (!LineSr.IsTournamentVisible(match.MatchView.TournamentView.LineObject.SvrGroupId.ToString()))
                {
                    return(false);
                }
            }

            return(true);
        }
        private bool MatchFilter(IMatchLn match)
        {
            if (!match.Active.Value)
            {
                return(false);
            }

            if (match.MatchView.VisibleBetDomainCount == 0)
            {
                return(false);
            }

            if (match.MatchView.AllVisibleOddCount == 0)
            {
                return(false);
            }

            if (match.IsLiveBet.Value)
            {
                return(false);
            }

            if (match.MatchView.CategoryView == null)
            {
                return(false);
            }

            if (match.ExpiryDate.Value.LocalDateTime < DateTime.Now)
            {
                return(false);
            }

            if (ChangeTracker.SearchSelectedTournament.Id != 0)
            {
                if (match.MatchView.TournamentView.LineObject.GroupId != ChangeTracker.SearchSelectedTournament.Id)
                {
                    return(false);
                }
            }
            if (ChangeTracker.SearchSelectedSport.Id != 0)
            {
                if (match.MatchView.SportView.LineObject.GroupId != ChangeTracker.SearchSelectedSport.Id)
                {
                    return(false);
                }
            }

            if (match.Code.Value.ToString("G").Contains(ChangeTracker.SearchString, StringComparison.OrdinalIgnoreCase))
            {
                return(true);
            }

            if (match.outright_type == eOutrightType.None)
            {
                if (match.HomeCompetitor.GetDisplayName(SelectedLanguage).Contains(ChangeTracker.SearchString, StringComparison.OrdinalIgnoreCase))
                {
                    return(true);
                }
                if (match.AwayCompetitor.GetDisplayName(SelectedLanguage).Contains(ChangeTracker.SearchString, StringComparison.OrdinalIgnoreCase))
                {
                    return(true);
                }
            }
            else if (match.outright_type == eOutrightType.Outright)
            {
                if (
                    match.OutrightCompetitors.Any(
                        c =>
                        c.Value.GetCompetitor()
                        .GetDisplayName(SelectedLanguage)
                        .Contains(ChangeTracker.SearchString, StringComparison.OrdinalIgnoreCase)))
                {
                    return(true);
                }
            }

            if (match.MatchView.TournamentView != null)
            {
                if (!LineSr.IsTournamentVisible(match.MatchView.TournamentView.LineObject.SvrGroupId.ToString()))
                {
                    return(false);
                }
            }

            return(false);
        }