private static bool TryParseTeamMonikers(TwinRinksTeamLevel v, string fullTeamDescription, out string teamNameResult)
        {
            var teamName = fullTeamDescription.ToUpperInvariant();

            var teamLevel = $"{v.ToString().ToUpperInvariant()} ";

            if (teamName.StartsWith(teamLevel))
            {
                var moniker = teamName.Replace(teamLevel, "");

                if (!string.IsNullOrWhiteSpace(moniker) && !moniker.Equals("POWER", StringComparison.InvariantCultureIgnoreCase))
                {
                    teamNameResult = moniker;
                    return(true);
                }
            }

            teamNameResult = null;

            return(false);
        }
        public static bool TryParseTeamLevelAndMoniker(string selectedTeam, out TwinRinksTeamLevel level, out string moniker)
        {
            level   = default(TwinRinksTeamLevel);
            moniker = null;

            if (!string.IsNullOrWhiteSpace(selectedTeam))
            {
                var parts = selectedTeam.Trim().Split(' ');

                if (parts.Length == 2)
                {
                    moniker = parts[1];

                    if (Enum.TryParse <TwinRinksTeamLevel>(parts[0], true, out TwinRinksTeamLevel lvl))
                    {
                        level = lvl;

                        return(true);
                    }
                }
            }
            return(false);
        }
        public static IEnumerable <TwinRinksEvent> FilterTeamEvents(this IEnumerable <TwinRinksEvent> me, TwinRinksTeamLevel level, object teamDesignator)
        {
            string teamName     = $"{level.ToString().ToUpperInvariant()} {teamDesignator.ToString().ToUpperInvariant()}";
            string allTeamsName = $"ALL {level.ToString().ToUpperInvariant()}S";
            string levelStr     = level.ToString().ToUpperInvariant();

            foreach (var e in me)
            {
                if (e.EventType == TwinRinksEventType.Game)
                {
                    if (e.HomeTeamName.Equals(teamName, StringComparison.InvariantCultureIgnoreCase))
                    {
                        yield return(e);
                    }
                    else if (e.AwayTeamName.Equals(teamName, StringComparison.InvariantCultureIgnoreCase))
                    {
                        yield return(e);
                    }
                }
                else // practice
                {
                    var isPowerSkate = e.IsPowerSkatingEvent();

                    if (e.HomeTeamName.Equals(teamName, StringComparison.InvariantCultureIgnoreCase))
                    {
                        yield return(e);
                    }
                    else if (e.AwayTeamName.Equals(teamName, StringComparison.InvariantCultureIgnoreCase))
                    {
                        yield return(e);
                    }
                    else if (e.HomeTeamName.Equals(allTeamsName, StringComparison.InvariantCultureIgnoreCase))
                    {
                        yield return(e);
                    }
                    else if (e.AwayTeamName.Equals(allTeamsName, StringComparison.InvariantCultureIgnoreCase))
                    {
                        yield return(e);
                    }
                    else if (isPowerSkate && (e.HomeTeamName.ToUpperInvariant().Contains(levelStr) || e.AwayTeamName.ToUpperInvariant().Contains(levelStr)))
                    {
                        yield return(e);
                    }
                }
            }
        }