Exemplo n.º 1
0
        public string Manage(TeamFeedModel feedModel)
        {
            IEnumerable <int> teamKeys = new List <int>()
            {
                feedModel.Key
            };
            EntitiesByKeyQuery <Team> teamQuery = new EntitiesByKeyQuery <Team>(teamKeys);
            Team team = queryDispatcher.Dispatch <EntitiesByKeyQuery <Team>, IEnumerable <Team> >(teamQuery).FirstOrDefault();

            if (team != null)
            {
                return(team.Id);
            }

            IEnumerable <int> sportKeys = new List <int>()
            {
                CommonConstants.ESPORT_KEY
            };
            EntitiesByKeyQuery <Sport> sportQuery = new EntitiesByKeyQuery <Sport>(sportKeys);
            Sport sport = queryDispatcher.Dispatch <EntitiesByKeyQuery <Sport>, IEnumerable <Sport> >(sportQuery).First();

            CreateTeamCommand teamCommand = Mapper.Map <CreateTeamCommand>(feedModel);

            teamCommand.SportId = sport.Id;

            return(commandDispatcher.Dispatch <CreateTeamCommand, string>(teamCommand));
        }
Exemplo n.º 2
0
        private TeamFeedModel BuildTeam(string name, HtmlNode scoreNode, HtmlNode matchContainer)
        {
            int score;

            int.TryParse(scoreNode?.InnerText, out score);

            TeamFeedModel team = ObjectFactory.CreateTeam(name, score);

            return(team);
        }
Exemplo n.º 3
0
 public static MatchFeedModel CreateMatch(MatchFeedType type, TeamFeedModel homeTeam, TeamFeedModel awayTeam, TournamentFeedModel tournament)
 {
     return(new MatchFeedModel()
     {
         Type = type,
         HomeTeam = homeTeam,
         AwayTeam = awayTeam,
         Tournament = tournament
     });
 }
Exemplo n.º 4
0
        public IEnumerable <TeamFeedModel> Get(HtmlNode matchContainer)
        {
            IEnumerable <string> names = ParseNames(matchContainer);

            if (!HasTeamNames(names))
            {
                return(null);
            }

            IEnumerable <HtmlNode> scoreNodes = matchContainer.SelectNodes(TeamXPaths.SCORE);

            TeamFeedModel homeTeam = BuildTeam(names.First(), scoreNodes?.First(), matchContainer);
            TeamFeedModel awayTeam = BuildTeam(names.Last(), scoreNodes?.Last(), matchContainer);

            return(new List <TeamFeedModel>()
            {
                homeTeam, awayTeam
            });
        }