7
7
using Microsoft . AspNetCore . Http ;
8
8
using ConferenceDTO ;
9
9
10
- namespace BackEnd
10
+ namespace BackEnd . Controllers
11
11
{
12
12
[ Route ( "/api/[controller]" ) ]
13
13
[ ApiController ]
14
14
public class AttendeesController : ControllerBase
15
15
{
16
- private readonly ApplicationDbContext _db ;
16
+ private readonly ApplicationDbContext _context ;
17
17
18
- public AttendeesController ( ApplicationDbContext db )
18
+ public AttendeesController ( ApplicationDbContext context )
19
19
{
20
- _db = db ;
20
+ _context = context ;
21
21
}
22
22
23
- [ HttpGet ( "{id }" ) ]
24
- public async Task < ActionResult < AttendeeResponse > > Get ( string id )
23
+ [ HttpGet ( "{username }" ) ]
24
+ public async Task < ActionResult < AttendeeResponse > > Get ( string username )
25
25
{
26
- var attendee = await _db . Attendees . Include ( a => a . SessionsAttendees )
26
+ var attendee = await _context . Attendees . Include ( a => a . SessionsAttendees )
27
27
. ThenInclude ( sa => sa . Session )
28
- . SingleOrDefaultAsync ( a => a . UserName == id ) ;
28
+ . SingleOrDefaultAsync ( a => a . UserName == username ) ;
29
29
30
30
if ( attendee == null )
31
31
{
@@ -43,7 +43,7 @@ public async Task<ActionResult<AttendeeResponse>> Get(string id)
43
43
public async Task < ActionResult < AttendeeResponse > > Post ( ConferenceDTO . Attendee input )
44
44
{
45
45
// Check if the attendee already exists
46
- var existingAttendee = await _db . Attendees
46
+ var existingAttendee = await _context . Attendees
47
47
. Where ( a => a . UserName == input . UserName )
48
48
. FirstOrDefaultAsync ( ) ;
49
49
@@ -60,33 +60,31 @@ public async Task<ActionResult<AttendeeResponse>> Post(ConferenceDTO.Attendee in
60
60
EmailAddress = input . EmailAddress
61
61
} ;
62
62
63
- _db . Attendees . Add ( attendee ) ;
64
- await _db . SaveChangesAsync ( ) ;
63
+ _context . Attendees . Add ( attendee ) ;
64
+ await _context . SaveChangesAsync ( ) ;
65
65
66
66
var result = attendee . MapAttendeeResponse ( ) ;
67
67
68
- return CreatedAtAction ( nameof ( Get ) , new { id = result . UserName } , result ) ;
68
+ return CreatedAtAction ( nameof ( Get ) , new { username = result . UserName } , result ) ;
69
69
}
70
70
71
- [ HttpPost ( "{username}/session/{sessionId:int }" ) ]
71
+ [ HttpPost ( "{username}/session/{sessionId}" ) ]
72
72
[ ProducesResponseType ( StatusCodes . Status200OK ) ]
73
73
[ ProducesResponseType ( StatusCodes . Status400BadRequest ) ]
74
74
[ ProducesResponseType ( StatusCodes . Status404NotFound ) ]
75
75
[ ProducesDefaultResponseType ]
76
76
public async Task < ActionResult < AttendeeResponse > > AddSession ( string username , int sessionId )
77
77
{
78
- var attendee = await _db . Attendees . Include ( a => a . SessionsAttendees )
78
+ var attendee = await _context . Attendees . Include ( a => a . SessionsAttendees )
79
79
. ThenInclude ( sa => sa . Session )
80
- . Include ( a => a . ConferenceAttendees )
81
- . ThenInclude ( ca => ca . Conference )
82
80
. SingleOrDefaultAsync ( a => a . UserName == username ) ;
83
81
84
82
if ( attendee == null )
85
83
{
86
84
return NotFound ( ) ;
87
85
}
88
86
89
- var session = await _db . Sessions . FindAsync ( sessionId ) ;
87
+ var session = await _context . Sessions . FindAsync ( sessionId ) ;
90
88
91
89
if ( session == null )
92
90
{
@@ -95,45 +93,45 @@ public async Task<ActionResult<AttendeeResponse>> AddSession(string username, in
95
93
96
94
attendee . SessionsAttendees . Add ( new SessionAttendee
97
95
{
98
- AttendeeID = attendee . ID ,
99
- SessionID = sessionId
96
+ AttendeeId = attendee . Id ,
97
+ SessionId = sessionId
100
98
} ) ;
101
99
102
- await _db . SaveChangesAsync ( ) ;
100
+ await _context . SaveChangesAsync ( ) ;
103
101
104
102
var result = attendee . MapAttendeeResponse ( ) ;
105
103
106
104
return result ;
107
105
}
108
106
109
- [ HttpDelete ( "{username}/session/{sessionId:int }" ) ]
107
+ [ HttpDelete ( "{username}/session/{sessionId}" ) ]
110
108
[ ProducesResponseType ( StatusCodes . Status204NoContent ) ]
111
109
[ ProducesResponseType ( StatusCodes . Status400BadRequest ) ]
112
110
[ ProducesResponseType ( StatusCodes . Status404NotFound ) ]
113
111
[ ProducesDefaultResponseType ]
114
112
public async Task < IActionResult > RemoveSession ( string username , int sessionId )
115
113
{
116
- var attendee = await _db . Attendees . Include ( a => a . SessionsAttendees )
114
+ var attendee = await _context . Attendees . Include ( a => a . SessionsAttendees )
117
115
. SingleOrDefaultAsync ( a => a . UserName == username ) ;
118
116
119
117
if ( attendee == null )
120
118
{
121
119
return NotFound ( ) ;
122
120
}
123
121
124
- var session = await _db . Sessions . FindAsync ( sessionId ) ;
122
+ var session = await _context . Sessions . FindAsync ( sessionId ) ;
125
123
126
124
if ( session == null )
127
125
{
128
126
return BadRequest ( ) ;
129
127
}
130
128
131
- var sessionAttendee = attendee . SessionsAttendees . FirstOrDefault ( sa => sa . SessionID == sessionId ) ;
129
+ var sessionAttendee = attendee . SessionsAttendees . FirstOrDefault ( sa => sa . SessionId == sessionId ) ;
132
130
attendee . SessionsAttendees . Remove ( sessionAttendee ) ;
133
131
134
- await _db . SaveChangesAsync ( ) ;
132
+ await _context . SaveChangesAsync ( ) ;
135
133
136
134
return NoContent ( ) ;
137
135
}
138
136
}
139
- }
137
+ }
0 commit comments