public void DropGameForPublisher(Publisher publisherToEdit, PublisherGame publisherGame, LeagueOptions leagueOptions)
    {
        if (publisherGame.WillRelease())
        {
            if (leagueOptions.WillReleaseDroppableGames == -1 || leagueOptions.WillReleaseDroppableGames > publisherToEdit.WillReleaseGamesDropped)
            {
                UpdatePublisher(publisherToEdit, null, publisherGame, 0, DropType.WillRelease);
                return;
            }
            if (leagueOptions.FreeDroppableGames == -1 || leagueOptions.FreeDroppableGames > publisherToEdit.FreeGamesDropped)
            {
                UpdatePublisher(publisherToEdit, null, publisherGame, 0, DropType.Free);
                return;
            }
            throw new Exception("Publisher cannot drop any more 'Will Release' games");
        }

        if (leagueOptions.WillNotReleaseDroppableGames == -1 || leagueOptions.WillNotReleaseDroppableGames > publisherToEdit.WillNotReleaseGamesDropped)
        {
            UpdatePublisher(publisherToEdit, null, publisherGame, 0, DropType.WillNotRelease);
            return;
        }
        if (leagueOptions.FreeDroppableGames == -1 || leagueOptions.FreeDroppableGames > publisherToEdit.FreeGamesDropped)
        {
            UpdatePublisher(publisherToEdit, null, publisherGame, 0, DropType.Free);
            return;
        }
        throw new Exception("Publisher cannot drop any more 'Will Not Release' games");
    }
示例#2
0
        protected override decimal?GetPointsInternal(PublisherGame publisherGame, IClock clock, LeagueWideValues leagueWideValues)
        {
            if (publisherGame.MasterGame.HasNoValue)
            {
                return(null);
            }

            if (!publisherGame.WillRelease())
            {
                return(0m);
            }

            if (!publisherGame.MasterGame.Value.MasterGame.IsReleased(clock))
            {
                return(null);
            }

            decimal?possibleManualScore = publisherGame.ManualCriticScore;

            if (possibleManualScore.HasValue)
            {
                return(GetPointsForScore(publisherGame, possibleManualScore.Value, leagueWideValues));
            }

            decimal?possibleCriticScore = publisherGame.MasterGame.Value.MasterGame.CriticScore;

            if (!possibleCriticScore.HasValue)
            {
                return(0m);
            }

            return(GetPointsForScore(publisherGame, possibleCriticScore.Value, leagueWideValues));
        }
示例#3
0
    public PublisherGameViewModel(PublisherGame publisherGame, LocalDate currentDate, bool counterPicked, bool counterPicksBlockDrops)
    {
        PublisherGameID = publisherGame.PublisherGameID;
        GameName        = publisherGame.GameName;

        Timestamp     = publisherGame.Timestamp.ToDateTimeUtc();
        CounterPick   = publisherGame.CounterPick;
        FantasyPoints = publisherGame.FantasyPoints;

        Linked = publisherGame.MasterGame is not null;
        if (Linked)
        {
            GameName             = publisherGame.MasterGame !.MasterGame.GameName;
            EstimatedReleaseDate = publisherGame.MasterGame.MasterGame.EstimatedReleaseDate;
            if (publisherGame.MasterGame.MasterGame.ReleaseDate.HasValue)
            {
                ReleaseDate = publisherGame.MasterGame.MasterGame.ReleaseDate.Value.ToDateTimeUnspecified();
            }

            CriticScore = publisherGame.MasterGame.MasterGame.CriticScore;
            Released    = publisherGame.MasterGame.MasterGame.IsReleased(currentDate);
            if (publisherGame.MasterGame is not null)
            {
                MasterGame = new MasterGameYearViewModel(publisherGame.MasterGame, currentDate);
            }
        }

        if (publisherGame.ManualCriticScore.HasValue)
        {
            CriticScore       = publisherGame.ManualCriticScore;
            ManualCriticScore = true;
        }

        WillRelease          = publisherGame.WillRelease();
        ManualWillNotRelease = publisherGame.ManualWillNotRelease;
        OverallDraftPosition = publisherGame.OverallDraftPosition;
        BidAmount            = publisherGame.BidAmount;
        AcquiredInTradeID    = publisherGame.AcquiredInTradeID;
        SlotNumber           = publisherGame.SlotNumber;
        CounterPicked        = counterPicked;
        DropBlocked          = counterPicked && counterPicksBlockDrops;
    }
        public PublisherGameViewModel(PublisherGame publisherGame, IClock clock, ScoringSystem scoringSystem, SystemWideValues systemWideValues)
        {
            PublisherGameID = publisherGame.PublisherGameID;
            GameName        = publisherGame.GameName;

            Timestamp     = publisherGame.Timestamp.ToDateTimeUtc();
            CounterPick   = publisherGame.CounterPick;
            FantasyPoints = publisherGame.FantasyPoints;
            SimpleProjectedFantasyPoints   = publisherGame.GetProjectedOrRealFantasyPoints(scoringSystem, systemWideValues, true, clock);
            AdvancedProjectedFantasyPoints = publisherGame.GetProjectedOrRealFantasyPoints(scoringSystem, systemWideValues, false, clock);

            Linked = publisherGame.MasterGame.HasValue;
            if (Linked)
            {
                GameName             = publisherGame.MasterGame.Value.MasterGame.GameName;
                EstimatedReleaseDate = publisherGame.MasterGame.Value.MasterGame.EstimatedReleaseDate;
                if (publisherGame.MasterGame.Value.MasterGame.ReleaseDate.HasValue)
                {
                    ReleaseDate = publisherGame.MasterGame.Value.MasterGame.ReleaseDate.Value.ToDateTimeUnspecified();
                }

                CriticScore = publisherGame.MasterGame.Value.MasterGame.CriticScore;
                Released    = publisherGame.MasterGame.Value.MasterGame.IsReleased(clock.GetCurrentInstant());
                if (publisherGame.MasterGame.HasValue)
                {
                    MasterGame = new MasterGameYearViewModel(publisherGame.MasterGame.Value, clock);
                }
            }

            if (publisherGame.ManualCriticScore.HasValue)
            {
                CriticScore       = publisherGame.ManualCriticScore;
                ManualCriticScore = true;
            }

            WillRelease          = publisherGame.WillRelease();
            ManualWillNotRelease = publisherGame.ManualWillNotRelease;
        }
示例#5
0
        public PublisherGameViewModel(PublisherGame publisherGame, IClock clock)
        {
            PublisherGameID = publisherGame.PublisherGameID;
            GameName        = publisherGame.GameName;
            Timestamp       = publisherGame.Timestamp.ToDateTimeUtc();

            CounterPick = publisherGame.CounterPick;

            FantasyPoints = publisherGame.FantasyPoints;

            Linked = publisherGame.MasterGame.HasValue;
            if (Linked)
            {
                GameName             = publisherGame.MasterGame.Value.MasterGame.GameName;
                EstimatedReleaseDate = publisherGame.MasterGame.Value.MasterGame.EstimatedReleaseDate;
                if (publisherGame.MasterGame.Value.MasterGame.ReleaseDate.HasValue)
                {
                    ReleaseDate = publisherGame.MasterGame.Value.MasterGame.ReleaseDate.Value.ToDateTimeUnspecified();
                }

                CriticScore  = publisherGame.MasterGame.Value.MasterGame.CriticScore;
                Released     = publisherGame.MasterGame.Value.MasterGame.IsReleased(clock);
                MasterGameID = publisherGame.MasterGame.Value.MasterGame.MasterGameID;

                if (publisherGame.ManualCriticScore.HasValue)
                {
                    CriticScore       = publisherGame.ManualCriticScore;
                    ManualCriticScore = true;
                }

                PercentStandardGame  = publisherGame.MasterGame.Value.PercentStandardGame;
                PercentCounterPick   = publisherGame.MasterGame.Value.PercentCounterPick;
                AverageDraftPosition = publisherGame.MasterGame.Value.AverageDraftPosition;
            }

            WillRelease = publisherGame.WillRelease();
        }