public virtual Booking CreateBooking(Product product, IDocumentSession session) { var contactId = !string.IsNullOrEmpty(ContactId) ? ContactId : createNewContact().Save(session).Id; var eqs = ExplodeAdditionalEquipment(session); var rooms = product.RoomsToBookOut(Room, session); var rate = GetRateToUse(rooms); var newBooking = ActuallyCreateBooking(Date, rate, eqs, contactId, rooms, product, session); newBooking.Save(session); return newBooking; }
public override Booking CreateBooking(Product product, IDocumentSession session) { var contactId = ContactId; if (string.IsNullOrEmpty(ContactId)) { var contact = createNewContact(); contact.Address = Address; contact.Postcode = Postcode; contact.SecondaryContactName = SecondaryContactName; contact.Age = Age; contactId = contact.Save(session).Id; } var eqs = ExplodeAdditionalEquipment(session); var rooms = product.RoomsToBookOut(Room, session); var rate = GetRateToUse(rooms); var newBooking = ActuallyCreateBooking(Date, rate, eqs, contactId, rooms, product, session); newBooking.MakeUpSession = MakeUpSession; newBooking.Biscuits = Biscuits; newBooking.SongChoice = SongChoice; newBooking.NumberInParty = NumberInParty; newBooking.PizzaOnTheDay = PizzaOnTheDay; newBooking.Save(session); return newBooking; }