private OpenDotaApi(string apiKey, WebProxy proxy) { _request = new Request(apiKey, proxy); Matches = new MatchEndpoint(_request); Player = new PlayerEndpoint(_request); ProPlayers = new ProPlayerEndpoint(_request); ProMatches = new ProMatchesEndpoint(_request); PublicMatches = new PublicMatchEndpoint(_request); Metadata = new MetadataEndpoint(_request); MmrDistribution = new MmrDistributionEndpoint(_request); Search = new SearchEndpoint(_request); Ranking = new RankingEndpoint(_request); Benchmarks = new BenchmarksEndpoint(_request); Status = new StatusEndpoint(_request); Health = new HealthEndpoint(_request); Request = new RequestEndpoint(_request); FindMatch = new FindMatchEndpoint(_request); Hero = new HeroEndpoint(_request); HeroStats = new HeroStatsEndpoint(_request); League = new LeagueEndpoint(_request); Team = new TeamEndpoint(_request); Replay = new ReplayEndpoint(_request); Record = new RecordEndpoint(_request); Live = new LiveEndpoint(_request); Scenarios = new ScenariosEndpoint(_request); Schema = new SchemaEndpoint(_request); }
static async Task Main(string[] args) { var coachesList = new HashSet <List <CoacheDto> >(); var tasks = new List <Task <IRestResponse> >(); var restResponse = await Task.WhenAny(TeamEndpoint.GetAllByYear()).Result; var teamsList = new JsonDeserializer().Deserialize <List <TeamDto> >(restResponse); foreach (var team in teamsList) { tasks.Add(CoachEndpoint.GetCoacheByTeam($"{team.School}")); } var coachResponse = await Task.WhenAll(tasks); foreach (var response in coachResponse) { var coache = new JsonDeserializer().Deserialize <List <CoacheDto> >(response); coachesList.Add(coache); } var mapping = new MappingProfile(); var result = mapping.Map(coachesList, teamsList); var repo = new Repository(); await repo.AddAsync(result); }