Example #1
0
        public async Task <ActionResult <AttendeeResponse> > Post(ConferenceDTO.Attendee input)
        {
            // Check if the attendee already exists
            var existingAttendee = await _db.Attendees
                                   .Where(a => a.UserName == input.UserName)
                                   .FirstOrDefaultAsync();

            if (existingAttendee != null)
            {
                return(Conflict(input));
            }

            var attendee = new Data.Attendee
            {
                FirstName    = input.FirstName,
                LastName     = input.LastName,
                UserName     = input.UserName,
                EmailAddress = input.EmailAddress
            };

            _db.Attendees.Add(attendee);
            await _db.SaveChangesAsync();

            var result = attendee.MapAttendeeResponse();

            return(CreatedAtAction(nameof(Get), new { id = result.UserName }, result));
        }
Example #2
0
 private static bool DoesContainOtherSessionsFromTheSameConference(Data.Attendee attendee, int conferenceId)
 {
     return(attendee.SessionAttendees.Select(sa => sa.Session).Any(s => s.ConferenceId == conferenceId));
 }