コード例 #1
0
        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));
        }
コード例 #2
0
        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));
        }
コード例 #3
0
 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,
 };
コード例 #4
0
 public static void UpdateValuesFrom(this Attendee attendee, ConferenceDTO.Attendee input)
 {
     attendee.EmailAddress = input.EmailAddress;
     attendee.FirstName    = input.FirstName;
     attendee.LastName     = input.LastName;
 }