/// <summary>
        /// Defines a League.
        /// </summary>
        /// <param name="wfscore">The Worldfootball definition.</param>
        /// <param name="parameters"></param>
        /// <returns></returns>
        private static List <BaseScore> DefineLeague(WorldFootballScore wfscore, ScoreParameter[] parameters)
        {
            int index = 0;
            List <BaseScore> scores   = new List <BaseScore>();
            string           fullname = wfscore.FullLeagueName + "-" + wfscore.Season;

            ScoreDetails details = GetScoreDetails(wfscore, parameters);
            int          round   = details.Round;

            // add results
            details.AddResults(scores, round, IMG_RESULTS, fullname, index++);

            // Standings
            string element  = "0";
            string nbLeague = wfscore.Details.Split(',').FirstOrDefault(x => x.Contains(";"));

            if (!String.IsNullOrEmpty(nbLeague))
            {
                element = nbLeague;
            }

            GenericScore sc = CreateNewScore(wfscore.Id, "table", "Standings", IMG_STANDINGS, element, index++);

            sc.BetweenElts = BetweenElements.RepeatHeader;
            sc.Url         = String.Format("{0}spielplan/{1}-spieltag/{2}/tabelle/", WF_URL, fullname, round);
            sc.Skip        = 1;
            sc.Sizes       = ScoreCenter.GetParameter(parameters, "WF.LeagueStandings", SIZES_STANDINGS);
            sc.Dictionary  = "WF.table";
            sc.Headers     = ScoreCenter.GetParameter(parameters, "WF.HeaderStandings", HEADERS_STANDINGS);
            sc.AddLevelsRule(wfscore.Levels);
            sc.AddHighlightRule(wfscore.Highlights, 3, RuleAction.FormatLine);
            scores.Add(sc);

            details.AddTopScorerScore(scores, fullname, index++);
            details.AddAssistsScore(scores, fullname, index++);
            details.AddStadiumScore(scores, fullname, index++);
            details.AddRefereeScore(scores, fullname, index++);
            details.AddHistoryScore(scores, index++);
            details.AddTopScorerHistScore(scores, index++);

            return(scores);
        }
Esempio n. 2
0
        public static IList <BaseScore> GetRealScores(FussballdeScore score, ScoreParameter[] parameters)
        {
            List <BaseScore> scores = new List <BaseScore>();
            GenericScore     sc     = null;
            int index = 0;

            var details = score.Details.Split(',').ToList();

            sc     = GenericScore.CreateNewScore(score.Id, C_KEY_RESULTS, "Results", XPATH_RESULTS, IMG_RESULTS, "", index++);
            sc.Url = GetUrl(score.Url, C_KEY_RESULTS);
            SetRound(sc);
            sc.Skip       = 1;
            sc.Dictionary = "Fussballde";
            sc.Sizes      = ScoreCenter.GetParameter(parameters, "Fde.SizesResults", SIZES_RESULTS);
            sc.Headers    = ScoreCenter.GetParameter(parameters, "Fde.HeaderResults", HEADER_RESULTS);
            sc.AddRule(3, Operation.Contains, CUT_BEFORE, RuleAction.CutBefore, "");
            sc.AddRule(5, Operation.Contains, CUT_BEFORE, RuleAction.CutBefore, "");
            sc.AddRule(1, Operation.Contains, "vorheriger Spieltag", RuleAction.SkipLine, "");
            sc.AddRule(1, Operation.Contains, "Verlegte Spiele", RuleAction.MergeCells, "");
            sc.AddHighlightRule(score.Highlights, 0, RuleAction.FormatCell);
            scores.Add(sc);

            sc            = GenericScore.CreateNewScore(score.Id, C_KEY_TABELLE, "Standings", XPATH_TABELLE, IMG_TABELLE, "", index++);
            sc.Url        = GetUrl(score.Url, C_KEY_TABELLE);
            sc.Skip       = 1;
            sc.Dictionary = "Fussballde";
            sc.Sizes      = ScoreCenter.GetParameter(parameters, "Fde.SizesTabelle", SIZES_TABELLE);
            sc.Headers    = ScoreCenter.GetParameter(parameters, "Fde.HeaderTabelle", HEADER_TABELLE);
            sc.AddRule(2, Operation.Contains, CUT_BEFORE, RuleAction.CutBefore, "");
            sc.AddLevelsRule(score.Levels);
            sc.AddHighlightRule(score.Highlights, 2, RuleAction.FormatLine);
            scores.Add(sc);

            if (details.Contains("runde"))
            {
                sc            = GenericScore.CreateNewScore(score.Id, "hinrunde", "1st Round", XPATH_TABELLE, IMG_TABELLE_ROUND1, "0", index++);
                sc.Url        = GetUrl(score.Url, C_KEY_RUNDE);
                sc.Skip       = 1;
                sc.Dictionary = "Fussballde";
                sc.Sizes      = ScoreCenter.GetParameter(parameters, "Fde.SizesTabelle", SIZES_TABELLE);
                sc.Headers    = ScoreCenter.GetParameter(parameters, "Fde.HeaderTabelle", HEADER_TABELLE);
                sc.AddRule(2, Operation.Contains, CUT_BEFORE, RuleAction.CutBefore, "");
                sc.AddHighlightRule(score.Highlights, 2, RuleAction.FormatLine);
                scores.Add(sc);

                sc            = GenericScore.CreateNewScore(score.Id, "rueckrunde", "2nd Round", XPATH_TABELLE, IMG_TABELLE_ROUND2, "1", index++);
                sc.Url        = GetUrl(score.Url, C_KEY_RUNDE);
                sc.Skip       = 1;
                sc.Dictionary = "Fussballde";
                sc.Sizes      = ScoreCenter.GetParameter(parameters, "Fde.SizesTabelle", SIZES_TABELLE);
                sc.Headers    = ScoreCenter.GetParameter(parameters, "Fde.HeaderTabelle", HEADER_TABELLE);
                sc.AddRule(2, Operation.Contains, CUT_BEFORE, RuleAction.CutBefore, "");
                sc.AddHighlightRule(score.Highlights, 2, RuleAction.FormatLine);
                scores.Add(sc);
            }

            sc            = GenericScore.CreateNewScore(score.Id, "heim", "Home", XPATH_TABELLE, IMG_TABELLE_HOME, "0", index++);
            sc.Url        = GetUrl(score.Url, C_KEY_HEIMAUS);
            sc.Skip       = 1;
            sc.Dictionary = "Fussballde";
            sc.Sizes      = ScoreCenter.GetParameter(parameters, "Fde.SizesTabelle", SIZES_TABELLE);
            sc.Headers    = ScoreCenter.GetParameter(parameters, "Fde.HeaderTabelle", HEADER_TABELLE);
            sc.AddRule(2, Operation.Contains, CUT_BEFORE, RuleAction.CutBefore, "");
            sc.AddHighlightRule(score.Highlights, 2, RuleAction.FormatLine);
            scores.Add(sc);

            sc            = GenericScore.CreateNewScore(score.Id, "auswaerts", "Away", XPATH_TABELLE, IMG_TABELLE_AWAY, "1", index++);
            sc.Url        = GetUrl(score.Url, C_KEY_HEIMAUS);
            sc.Skip       = 1;
            sc.Dictionary = "Fussballde";
            sc.Sizes      = ScoreCenter.GetParameter(parameters, "Fde.SizesTabelle", SIZES_TABELLE);
            sc.Headers    = ScoreCenter.GetParameter(parameters, "Fde.HeaderTabelle", HEADER_TABELLE);
            sc.AddRule(2, Operation.Contains, CUT_BEFORE, RuleAction.CutBefore, "");
            sc.AddHighlightRule(score.Highlights, 2, RuleAction.FormatLine);
            scores.Add(sc);

            if (details.Contains("fairness"))
            {
                sc            = GenericScore.CreateNewScore(score.Id, C_KEY_FAIRNESS, "Fair Play", XPATH_FAIRPLAY, IMG_REFEREE, "", index++);
                sc.Url        = GetUrl(score.Url, C_KEY_FAIRNESS);
                sc.Skip       = 1;
                sc.Dictionary = "Fussballde";
                sc.Sizes      = ScoreCenter.GetParameter(parameters, "Fde.SizesFairplay", SIZES_FAIRPLAY);
                sc.Headers    = ScoreCenter.GetParameter(parameters, "Fde.HeaderFairplay", HEADER_FAIRPLAY);
                sc.AddRule(2, Operation.Contains, CUT_BEFORE, RuleAction.CutBefore, "");
                sc.AddHighlightRule(score.Highlights, 2, RuleAction.FormatLine);
                scores.Add(sc);
            }

            if (details.Contains("torjaeger"))
            {
                sc            = GenericScore.CreateNewScore(score.Id, C_KEY_SCORER, "Top Scorers", XPATH_SCORER, IMG_TOPSCORER, "", index++);
                sc.Url        = GetUrl(score.Url, C_KEY_SCORER);
                sc.Skip       = 1;
                sc.Dictionary = "Fussballde";
                sc.Sizes      = ScoreCenter.GetParameter(parameters, "Fde.SizesScorer", SIZES_SCORER);
                sc.Headers    = ScoreCenter.GetParameter(parameters, "Fde.HeaderScorer", HEADER_SCORER);
                sc.AddRule(3, Operation.Contains, CUT_BEFORE, RuleAction.CutBefore, "");
                sc.AddHighlightRule(score.Highlights, 3, RuleAction.FormatLine);
                scores.Add(sc);
            }

            return(scores);
        }