Skip to content
This repository was archived by the owner on Jul 10, 2024. It is now read-only.

Commit dfa1987

Browse files
davidfowlDamianEdwards
authored andcommitted
Added more save points
1 parent ce32d78 commit dfa1987

File tree

88 files changed

+11007
-17947
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

88 files changed

+11007
-17947
lines changed

save-points/3-Front-End-started/ConferencePlanner/BackEnd/BackEnd.csproj

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,22 @@
1-
<Project Sdk="Microsoft.NET.Sdk.Web">
1+
<Project Sdk="Microsoft.NET.Sdk.Web">
22

33
<PropertyGroup>
4-
<TargetFramework>netcoreapp2.2</TargetFramework>
5-
<AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>
6-
</PropertyGroup>
7-
4+
<TargetFramework>netcoreapp3.0</TargetFramework>
5+
</PropertyGroup>
86
<ItemGroup>
9-
<PackageReference Include="Microsoft.AspNetCore.App" />
10-
<PackageReference Include="Microsoft.AspNetCore.Razor.Design" Version="2.2.0" PrivateAssets="All" />
11-
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="2.2.1" />
12-
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.2.0" />
13-
<PackageReference Include="Swashbuckle.AspNetCore" Version="4.0.1" />
7+
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="2.2.4" />
8+
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="2.2.4" />
9+
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.2.4">
10+
<PrivateAssets>all</PrivateAssets>
11+
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
12+
</PackageReference>
13+
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="3.0.0-preview5-19264-04">
14+
<PrivateAssets>all</PrivateAssets>
15+
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
16+
</PackageReference>
17+
<PackageReference Include="Swashbuckle.AspNetCore" Version="5.0.0-rc2" />
1418
</ItemGroup>
15-
19+
1620
<ItemGroup>
1721
<ProjectReference Include="..\ConferenceDTO\ConferenceDTO.csproj" />
1822
</ItemGroup>

save-points/3-Front-End-started/ConferencePlanner/BackEnd/Controllers/AttendeesController.cs

Lines changed: 24 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -7,25 +7,25 @@
77
using Microsoft.AspNetCore.Http;
88
using ConferenceDTO;
99

10-
namespace BackEnd
10+
namespace BackEnd.Controllers
1111
{
1212
[Route("/api/[controller]")]
1313
[ApiController]
1414
public class AttendeesController : ControllerBase
1515
{
16-
private readonly ApplicationDbContext _db;
16+
private readonly ApplicationDbContext _context;
1717

18-
public AttendeesController(ApplicationDbContext db)
18+
public AttendeesController(ApplicationDbContext context)
1919
{
20-
_db = db;
20+
_context = context;
2121
}
2222

23-
[HttpGet("{id}")]
24-
public async Task<ActionResult<AttendeeResponse>> Get(string id)
23+
[HttpGet("{username}")]
24+
public async Task<ActionResult<AttendeeResponse>> Get(string username)
2525
{
26-
var attendee = await _db.Attendees.Include(a => a.SessionsAttendees)
26+
var attendee = await _context.Attendees.Include(a => a.SessionsAttendees)
2727
.ThenInclude(sa => sa.Session)
28-
.SingleOrDefaultAsync(a => a.UserName == id);
28+
.SingleOrDefaultAsync(a => a.UserName == username);
2929

3030
if (attendee == null)
3131
{
@@ -43,7 +43,7 @@ public async Task<ActionResult<AttendeeResponse>> Get(string id)
4343
public async Task<ActionResult<AttendeeResponse>> Post(ConferenceDTO.Attendee input)
4444
{
4545
// Check if the attendee already exists
46-
var existingAttendee = await _db.Attendees
46+
var existingAttendee = await _context.Attendees
4747
.Where(a => a.UserName == input.UserName)
4848
.FirstOrDefaultAsync();
4949

@@ -60,33 +60,31 @@ public async Task<ActionResult<AttendeeResponse>> Post(ConferenceDTO.Attendee in
6060
EmailAddress = input.EmailAddress
6161
};
6262

63-
_db.Attendees.Add(attendee);
64-
await _db.SaveChangesAsync();
63+
_context.Attendees.Add(attendee);
64+
await _context.SaveChangesAsync();
6565

6666
var result = attendee.MapAttendeeResponse();
6767

68-
return CreatedAtAction(nameof(Get), new { id = result.UserName }, result);
68+
return CreatedAtAction(nameof(Get), new { username = result.UserName }, result);
6969
}
7070

71-
[HttpPost("{username}/session/{sessionId:int}")]
71+
[HttpPost("{username}/session/{sessionId}")]
7272
[ProducesResponseType(StatusCodes.Status200OK)]
7373
[ProducesResponseType(StatusCodes.Status400BadRequest)]
7474
[ProducesResponseType(StatusCodes.Status404NotFound)]
7575
[ProducesDefaultResponseType]
7676
public async Task<ActionResult<AttendeeResponse>> AddSession(string username, int sessionId)
7777
{
78-
var attendee = await _db.Attendees.Include(a => a.SessionsAttendees)
78+
var attendee = await _context.Attendees.Include(a => a.SessionsAttendees)
7979
.ThenInclude(sa => sa.Session)
80-
.Include(a => a.ConferenceAttendees)
81-
.ThenInclude(ca => ca.Conference)
8280
.SingleOrDefaultAsync(a => a.UserName == username);
8381

8482
if (attendee == null)
8583
{
8684
return NotFound();
8785
}
8886

89-
var session = await _db.Sessions.FindAsync(sessionId);
87+
var session = await _context.Sessions.FindAsync(sessionId);
9088

9189
if (session == null)
9290
{
@@ -95,45 +93,45 @@ public async Task<ActionResult<AttendeeResponse>> AddSession(string username, in
9593

9694
attendee.SessionsAttendees.Add(new SessionAttendee
9795
{
98-
AttendeeID = attendee.ID,
99-
SessionID = sessionId
96+
AttendeeId = attendee.Id,
97+
SessionId = sessionId
10098
});
10199

102-
await _db.SaveChangesAsync();
100+
await _context.SaveChangesAsync();
103101

104102
var result = attendee.MapAttendeeResponse();
105103

106104
return result;
107105
}
108106

109-
[HttpDelete("{username}/session/{sessionId:int}")]
107+
[HttpDelete("{username}/session/{sessionId}")]
110108
[ProducesResponseType(StatusCodes.Status204NoContent)]
111109
[ProducesResponseType(StatusCodes.Status400BadRequest)]
112110
[ProducesResponseType(StatusCodes.Status404NotFound)]
113111
[ProducesDefaultResponseType]
114112
public async Task<IActionResult> RemoveSession(string username, int sessionId)
115113
{
116-
var attendee = await _db.Attendees.Include(a => a.SessionsAttendees)
114+
var attendee = await _context.Attendees.Include(a => a.SessionsAttendees)
117115
.SingleOrDefaultAsync(a => a.UserName == username);
118116

119117
if (attendee == null)
120118
{
121119
return NotFound();
122120
}
123121

124-
var session = await _db.Sessions.FindAsync(sessionId);
122+
var session = await _context.Sessions.FindAsync(sessionId);
125123

126124
if (session == null)
127125
{
128126
return BadRequest();
129127
}
130128

131-
var sessionAttendee = attendee.SessionsAttendees.FirstOrDefault(sa => sa.SessionID == sessionId);
129+
var sessionAttendee = attendee.SessionsAttendees.FirstOrDefault(sa => sa.SessionId == sessionId);
132130
attendee.SessionsAttendees.Remove(sessionAttendee);
133131

134-
await _db.SaveChangesAsync();
132+
await _context.SaveChangesAsync();
135133

136134
return NoContent();
137135
}
138136
}
139-
}
137+
}

save-points/3-Front-End-started/ConferencePlanner/BackEnd/Controllers/ConferencesController.cs

Lines changed: 0 additions & 146 deletions
This file was deleted.

0 commit comments

Comments
 (0)