public void SaveLocationBooking(LocationBooking locationBooking)
        {
            // Preparare validation return data
            ICollection<ValidationResult> validationResults;

            // Try to validate given data
            if (locationBooking.Validate(out validationResults))
            {
                // If a new booking should be created
                if (locationBooking.LocationBookingId == 0)
                {
                    LocationBookingDAL.InsertLocationBooking(locationBooking);
                }
                // Existing booking should be updated
                else
                {
                    // Check that the booking exists before update
                    if (LocationBookingDAL.GetLocationBookingById(locationBooking.LocationBookingId) == null)
                    {
                        throw new ApplicationException("The location booking that was to be updated does not exist anymore.");
                    }

                    // Update booking
                    LocationBookingDAL.UpdateLocationBooking(locationBooking);
                }
            }
            // Validation failed
            else
            {
                // Create exception
                ApplicationException exception = new ApplicationException("The location booking contained invalid values.");

                // Add validation data to exception.
                exception.Data.Add("ValidationResults", validationResults);

                throw exception;
            }
        }