public void Handle(OrganizerRegistrationCommand message) { var organizer = new Organizer(message.Id, message.SIN, message.Name, message.Email); if (!organizer.IsValid()) { NotifyValidationError(organizer.ValidationResult); return; } var existOrganizer = _organizerRepository.Find(o => o.SIN == organizer.SIN || o.Email == organizer.Email); if (existOrganizer.Any()) { _bus.RaiseEvent(new DomainNotification(message.MessageType, "SIN or E-mail already exists")); } _organizerRepository.Add(organizer); //TODO: Add to repository if (Commit()) { _bus.RaiseEvent(new OrganizerRegisteredEvent(organizer.Id, organizer.SIN, organizer.Name, organizer.Email)); } }