Ejemplo n.º 1
0
        /// <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();
            }
        }