Exemplo n.º 1
0
        public void Score(ScoringType scoringType)
        {
            // Clear old scores:
            foreach (Pair pair in Pairs)
            {
                pair.Score = 0;
            }
            // Score all sessions
            if (scoringType == ScoringType.MatchPoints)
            {
                _scoringEngine = new MatchPointsScoringEngine();
            }
            else if (scoringType == ScoringType.IMPsAcross)
            {
                _scoringEngine = new IMPsAcrossScoringEngine();
            }
            var results = new List <BoardResult>();

            foreach (Session session in Sessions)
            {
                results.AddRange(session.Score(_scoringEngine));
            }
            // Aggregate pair scores
            foreach (BoardResult br in results)
            {
                foreach (Result result in br.Results)
                {
                    result.Table.NorthSouthPair.Score += result.NorthSouthScore;
                    result.Table.EastWestPair.Score   -= result.NorthSouthScore;
                }
            }
            // Sort Pair list:
            Pairs.Sort();
        }
Exemplo n.º 2
0
 public List <BoardResult> Score(IScoringEngine engine)
 {
     foreach (BoardResult res in BoardResults)
     {
         res.Score(engine);
     }
     return(BoardResults);
 }
Exemplo n.º 3
0
        public List <BoardResult> Score(IScoringEngine engine)
        {
            List <BoardResult> ret = new List <BoardResult>();

            foreach (Round round in Rounds)
            {
                ret.AddRange(round.Score(engine));
            }
            return(ret);
        }
Exemplo n.º 4
0
 private IScoringEngine CreateScoringEngine()
 {
     lock (_sharedObject)
     {
         if (!_appDomainManager.IsDomainExist(DomainName))
         {
             _appDomainManager.CreateNonTrustedDomain(DomainName, PathToAssembly);
         }
         var typeOfScoreEngine = _appDomainManager.GetType(PathToAssembly, typeof(IScoringEngine));
         _scoringEngine = _appDomainManager.CreateInstanceInsideDomain <IScoringEngine>(DomainName, typeOfScoreEngine);
     }
     return(null);
 }
Exemplo n.º 5
0
 public void Score(IScoringEngine engine)
 {
     engine.ScoreBoard(Results);
 }