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)); }
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); }
public static MatchFeedModel CreateMatch(MatchFeedType type, TeamFeedModel homeTeam, TeamFeedModel awayTeam, TournamentFeedModel tournament) { return(new MatchFeedModel() { Type = type, HomeTeam = homeTeam, AwayTeam = awayTeam, Tournament = tournament }); }
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 }); }