public UpcomingGameViewModel(MasterGameYear masterGame, IEnumerable <Publisher> publishers, IEnumerable <Publisher> standardGamePublishers, bool userMode, IClock clock)
        {
            MasterGame                   = new MasterGameYearViewModel(masterGame, clock);
            MasterGameID                 = masterGame.MasterGame.MasterGameID;
            GameName                     = masterGame.MasterGame.GameName;
            EstimatedReleaseDate         = masterGame.MasterGame.EstimatedReleaseDate;
            SortableEstimatedReleaseDate = masterGame.MasterGame.GetDefiniteSortableEstimatedReleaseDate();
            ReleaseDate                  = masterGame.MasterGame.ReleaseDate;

            if (userMode)
            {
                if (publishers.Count() == 1)
                {
                    var publisher = publishers.Single();
                    LeagueID      = publisher.LeagueYear.League.LeagueID;
                    Year          = publisher.LeagueYear.Year;
                    LeagueName    = publisher.LeagueYear.League.LeagueName;
                    PublisherID   = publisher.PublisherID;
                    PublisherName = publisher.PublisherName;
                }
                else
                {
                    LeagueName    = $"{publishers.Count()} Leagues";
                    PublisherName = "Multiple";
                }
            }
            else
            {
                if (publishers.Count() == 1)
                {
                    var publisher = publishers.Single();
                    LeagueID      = publisher.LeagueYear.League.LeagueID;
                    Year          = publisher.LeagueYear.Year;
                    LeagueName    = publisher.LeagueYear.League.LeagueName;
                    PublisherID   = publisher.PublisherID;
                    PublisherName = publisher.PublisherName;
                }
                else if (standardGamePublishers.Count() == 1)
                {
                    var publisher            = standardGamePublishers.Single();
                    var counterPickPublisher = publishers.Single(x => x.PublisherID != publisher.PublisherID);
                    LeagueID                 = publisher.LeagueYear.League.LeagueID;
                    Year                     = publisher.LeagueYear.Year;
                    LeagueName               = publisher.LeagueYear.League.LeagueName;
                    PublisherID              = publisher.PublisherID;
                    PublisherName            = publisher.PublisherName;
                    CounterPickPublisherID   = counterPickPublisher.PublisherID;
                    CounterPickPublisherName = counterPickPublisher.PublisherName;
                }
                else
                {
                    throw new Exception($"Problem with upcoming games. Happened for Game: {masterGame.MasterGame.GameName} and publisherIDs: {string.Join('|', publishers.Select(x => x.PublisherID))}");
                }
            }
        }
Ejemplo n.º 2
0
 public PossibleMasterGameYearViewModel(PossibleMasterGameYear masterGame, IClock clock)
 {
     MasterGame   = new MasterGameYearViewModel(masterGame.MasterGame, clock);
     Taken        = masterGame.Taken;
     AlreadyOwned = masterGame.AlreadyOwned;
     IsEligible   = masterGame.IsEligible;
     IsReleased   = masterGame.IsReleased;
     WillRelease  = masterGame.WillRelease;
     HasScore     = masterGame.HasScore;
     IsAvailable  = masterGame.IsAvailable;
 }
Ejemplo n.º 3
0
        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;
        }