/// <summary> /// Creates a Guest /// </summary> /// <param name="guest">Guest to create.</param> public void Create(Guest guest) { guest.IsValid(); guest.IsGuestValidForCreation(); // Check if CountryId is specified. if not, CountryId should be defaulted to country of business. if (!guest.IsCountryIdSpecified()) { guest.CountryId = countryDao.GetByBusiness(guest.BusinessId).Id; } using (var btx = new BusinessTransaction()) { // Create Guest or throw exception for invalid Guest guestDao.Create(guest); // Create Guest event guestEventDao.Create(new GuestEvent { GuestEventType = GuestEventType.Created, GuestId = guest.Id.HasValue ? guest.Id.Value : 0 }); btx.Commit(); } }