public async Task <IActionResult> Post([FromBody] ConferenceDTO.Attendee input) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var avatar = input.Avatar; if (avatar != null) { _db.Files.Add(avatar); await _db.SaveChangesAsync(); input.AvatarId = avatar.FileId; } var attendee = new Attendee { FirstName = input.FirstName, LastName = input.LastName, UserName = input.UserName, EmailAddress = input.EmailAddress, AvatarId = input.AvatarId }; _db.Attendees.Add(attendee); await _db.SaveChangesAsync(); var result = attendee.MapAttendeeResponse(); return(CreatedAtAction(nameof(Get), new { username = result.UserName }, result)); }
public async Task <ActionResult <AttendeeResponse> > Post(ConferenceDTO.Attendee input) { // Check if the attendee already exists var existingAttendee = await _context.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 }; _context.Attendees.Add(attendee); await _context.SaveChangesAsync(); var result = attendee.MapAttendeeResponse(); return(CreatedAtAction(nameof(Get), new { username = result.UserName }, result)); }
public static Attendee MapAttendee(this ConferenceDTO.Attendee attendee) => new Attendee { ID = attendee.ID, UserName = attendee.UserName, FirstName = attendee.FirstName, LastName = attendee.LastName, EmailAddress = attendee.EmailAddress, };
public static void UpdateValuesFrom(this Attendee attendee, ConferenceDTO.Attendee input) { attendee.EmailAddress = input.EmailAddress; attendee.FirstName = input.FirstName; attendee.LastName = input.LastName; }