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)); }
private static bool DoesContainOtherSessionsFromTheSameConference(Data.Attendee attendee, int conferenceId) { return(attendee.SessionAttendees.Select(sa => sa.Session).Any(s => s.ConferenceId == conferenceId)); }