Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
<Project Sdk="Microsoft.NET.Sdk">

</Project>
55 changes: 55 additions & 0 deletions dotnet/BaseballService/Abstractions/Types.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
namespace Baseball.Abstractions;
public record MlbTeams(Team[] Teams);

public record Team(
int Id,
string Name,
string TeamCode,
string Abbreviation,
string TeamName
);
public record PlayByPlay(Play[] AllPlays);

public record Play(PlayResult Result);

public record PlayResult(
string Description
);
public record ScheduleRequest(
int[] SportId,
DateTime StartDate,
DateTime EndDate,
int TeamId,
string TimeZone,
string[] GameType,
string Language,
int[] LeagueId,
string[] Hydrate,
string[] SortBy
);

public record Schedule(GameDate[] Dates);

public record GameDate(Game[] Games);

public record Game(
int GamePk,
Guid GameGuid,
DateTime GameDate,
Teams Teams
);

public record Teams(
GameTeam Away,
GameTeam Home
);

public record GameTeam(
TeamInformation Team
);

public record TeamInformation(
int Id,
string Name,
string TeamName
);
7 changes: 7 additions & 0 deletions dotnet/BaseballService/Api.Client/Baseball.Api.Client.csproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">

<ItemGroup>
<ProjectReference Include="..\Abstractions\*.csproj" />
</ItemGroup>

</Project>
64 changes: 64 additions & 0 deletions dotnet/BaseballService/Api.Client/MlbService.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
// using Ardalis.GuardClauses;
// using Core.Utilities.Models;
// using System.Net.Http.Json;

// namespace Core.Utilities.Services;

// public class MlbService
// {
// private readonly HttpClient _httpClient;

// public MlbService(HttpClient httpClient)
// {
// httpClient.BaseAddress = new("http://statsapi.mlb.com/api/v1/");
// _httpClient = httpClient;
// }
// public Task<Schedule> GetTeamSchedule(int teamId, DateTime startDate, DateTime endDate)
// {
// string startDateFormatted = startDate.ToString("yyy-MM-dd");
// string endDateFormatted = endDate.ToString("yyy-MM-dd");
// var requestUri = $"schedule?"
// +"sportId=1"+"&sportId=51"+"&sportId=21"
// +$"&startDate={startDateFormatted}"
// +$"&endDate={endDateFormatted}"
// +$"&teamId={teamId}"
// +"&timeZone=America/New_York"
// +"&gameType=E"+"&&gameType=S"+"&&gameType=R"+"&&gameType=F"+"&&gameType=D"
// +"&&gameType=L"+"&&gameType=W"+"&&gameType=A"+"&&gameType=C"
// +"&language=en"
// +"&leagueId=104"+"&&leagueId=103"+"&&leagueId=160"+"&&leagueId=590"
// +"&hydrate=team,linescore(matchup,runners),xrefId,story,flags,statusFlags,broadcasts(all),venue(location),decisions,person,probablePitcher,stats,game(content(media(epg),summary),tickets),seriesStatus(useOverride=true)"
// +"&sortBy=gameDate,gameStatus,gameType";
// return GetHttpResponse<Schedule>(requestUri);
// }

// public Task<MlbTeams> GetTeams()
// {
// var requestUri = $"teams?sportId=1";
// return GetHttpResponse<MlbTeams>(requestUri);
// }

// public async Task<List<Play>> GamePlayByPlay(int gameId, int maxPlayByPlay)
// {
// var requestUri = $"game/{gameId}/playByPlay";
// var playByPlay = await GetHttpResponse<PlayByPlay>(requestUri);

// return playByPlay.AllPlays.Take(maxPlayByPlay).ToList();
// }

// private async Task<T> GetHttpResponse<T>(string requestUri)
// {
// var response = await _httpClient.GetAsync(requestUri);

// if (!response.IsSuccessStatusCode)
// {
// string errorMessage = await response.Content.ReadAsStringAsync();
// throw new HttpRequestException($"Request failed with status code: {response.StatusCode}, message: {errorMessage}");
// }

// var data = await response.Content.ReadFromJsonAsync<T>();
// Guard.Against.Null(data);

// return data;
// }
// }
5 changes: 5 additions & 0 deletions dotnet/BaseballService/Api/Baseball.Api.csproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<Project Sdk="Microsoft.NET.Sdk.Web">
<ItemGroup>
<ProjectReference Include="..\Abstractions\*.csproj" />
</ItemGroup>
</Project>
36 changes: 36 additions & 0 deletions dotnet/BaseballService/Api/Program.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
using Baseball.Abstractions;

var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();

Team[] teams = [
new(1, "Name", "Team Code", "Abbr", "Team Name"),
new(2, "Name", "Team Code", "Abbr", "Team Name")
];

app.MapGet("/game/{gameId}/playByPlay", (int gameId) => new MlbTeams(teams));
app.MapGet("/teams", (int sportId) => new MlbTeams(teams));
app.MapGet("/schedule", (ScheduleRequest request) => new Schedule([
new([
new(1,
Guid.NewGuid(),
DateTime.Now,
new(
new(
new(1,
"Name",
"Team Name"
)
),
new(
new(2,
"Name",
"Team Name"
)
)
)
)
])
]));

app.Run();
72 changes: 0 additions & 72 deletions dotnet/DemoApp/DemoApp.sln

This file was deleted.

28 changes: 0 additions & 28 deletions dotnet/Workshops/CustomConnector/CustomConnector.sln

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="../src/CustomConnector.csproj" />
</ItemGroup>
</Project>
Loading