示例#1
0
    private void CalculateQualifTeamPoints(Player player)
    {
        var fixtures = FixtureRepository.GetFixtureByRoundId(1);

        if (fixtures.Where(x => !x.Ended).Count() > 0)
        {
            return;
        }

        var qualifiedTeams = TeamRepository.GetAllTeams().Where(x => x.CurrentRoundId == 2);
        var betTeams       = BetReposiory.GetQualifTeams(player.Id, false);

        if (betTeams.Count() != 16)
        {
            return;                       //Reset to 16
        }
        BetReposiory.CheckQualifTeams(player.Id);

        var crossTeams = qualifiedTeams.Where(x => betTeams.Contains(x.Id));
        var c          = crossTeams.Count();

        if (c < 2)
        {
            PlayerRepository.SetScore(-10, player.Id);
            return;
        }

        if (c < 5)
        {
            PlayerRepository.SetScore(-5, player.Id);
            return;
        }

        if (c < 8)
        {
            return;
        }

        if (c < 13)
        {
            PlayerRepository.SetScore(5, player.Id);
            return;
        }

        if (c < 16)
        {
            PlayerRepository.SetScore(8, player.Id);
            return;
        }

        PlayerRepository.SetScore(10, player.Id);
        return;
    }