private List <Game> ContainerToGame(StatsApiContainer container)
        {
            var games = new List <Game>();

            foreach (var date in container.Dates)
            {
                foreach (var game in date.Games)
                {
                    var tmp = new Game
                    {
                        GameId       = game.GamePk,
                        GameDateTime = game.GameDate,
                        HomeTeam     = new Team
                        {
                            Name         = game.Teams.Home.Team.Name,
                            Abbreviation = game.Teams.Home.Team.Abbreviation
                        },
                        AwayTeam = new Team
                        {
                            Name         = game.Teams.Away.Team.Name,
                            Abbreviation = game.Teams.Away.Team.Abbreviation
                        },
                        Feeds = new List <Feed>(),
                        State = game.Status.DetailedState
                    };
                    if (game.Content.Media != null)
                    {
                        foreach (var epg in game.Content.Media.Epg)
                        {
                            foreach (var item in epg.Items)
                            {
                                tmp.Feeds.Add(
                                    new Feed
                                {
                                    Id          = item.MediaPlaybackId ?? item.Id,
                                    FeedType    = epg.Title + " - " + item.MediaFeedType,
                                    CallLetters = item.CallLetters
                                }
                                    );
                            }
                        }
                    }
                    games.Add(tmp);
                }
            }

            _logger.Debug(_jsonSerializer.SerializeToString(games));
            return(games);
        }
Example #2
0
        private static List <Game> ContainerToGame(StatsApiContainer container)
        {
            var games = new List <Game>();

            foreach (var date in container.Dates)
            {
                foreach (var game in date.Games)
                {
                    var feeds = new List <Feed>();
                    var tmp   = new Game
                    {
                        GameId       = game.GamePk,
                        GameDateTime = game.GameDate,
                        HomeTeam     = new Team
                        {
                            Name         = game.Teams?.Home?.Team?.Name,
                            Abbreviation = game.Teams?.Home?.Team?.Abbreviation
                        },
                        AwayTeam = new Team
                        {
                            Name         = game?.Teams?.Away?.Team?.Name,
                            Abbreviation = game?.Teams?.Away?.Team?.Abbreviation
                        },
                        Feeds = new List <Feed>(),
                        State = game?.Status?.DetailedState
                    };

                    if (game?.Content?.Media?.Epg != null)
                    {
                        foreach (var epg in game.Content.Media.Epg)
                        {
                            foreach (var item in epg.Items)
                            {
                                feeds.Add(
                                    new Feed
                                {
                                    Id          = item.MediaPlaybackId ?? item.Id,
                                    FeedType    = epg.Title + " - " + item.MediaFeedType,
                                    CallLetters = item.CallLetters
                                });
                            }
                        }
                    }
                    else
                    {
                        feeds.Add(
                            new Feed
                        {
                            Id          = "nofeed",
                            FeedType    = "No Feed Available",
                            CallLetters = string.Empty
                        });
                    }

                    tmp.Feeds = feeds;
                    games.Add(tmp);
                }
            }

            return(games);
        }