Exemple #1
0
        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));
        }
Exemple #2
0
        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);
        }