public async Task RegisterAttendeeAsync(RegisterAttendeeAtSeminar cmd) { cmd.Validate(); var seminar = await _seminarDao.GetAsync(cmd.Id); if (seminar == null) { throw new ObjectAlreadyExitsException(cmd.Id, typeof(Seminar)); } await _seminarDao.AddAttendeeAsync(seminar.RegisterAttendee(cmd)); }
public SeminarAttendee RegisterAttendee(RegisterAttendeeAtSeminar cmd) { var exist = RegisteredAttendees.Any(attendee => attendee.Id == cmd.AttendeeId); if (exist) { throw new ObjectAlreadyExitsException(cmd.AttendeeId, typeof(SeminarAttendee)); } var registeredAttendee = new SeminarAttendee { Id = cmd.AttendeeId, SeminarId = cmd.Id, RegistrationTime = DateTime.Now }; RegisteredAttendees.Add(registeredAttendee); return(registeredAttendee); }