/// <summary>Check the person out from the source occurence.</summary>
        /// <returns>Success flag.</returns>
        public bool Checkout(bool bShowConfirm)
        {
            bool bSuccess;

            try
            {
                CD.Checkout(OccurrenceId, PersonId);  //(OccurrenceAttendanceId);
                bSuccess = true;
            }
            catch (Exception e)
            {
                //throw new Exception("Couldn't check out.", e);
                throw;
                bSuccess = false;
            }

            //Doesn't work when embedded in an AJAX panel
            if (bSuccess && bShowConfirm)
            {
                ScriptManager.RegisterStartupScript(this, this.GetType(), "CheckoutComplete", String.Format("alert('{0} {1}has been checked out from\n\r{2}\n\r   {3}\n\r      {4}');",
                                                                                                            Person.FullName, (OccurrenceAttendanceType == Arena.Enums.OccurrenceAttendanceType.Leader ? "(Leader) " : ""),
                                                                                                            SourceOccurrence.AttendanceTypeCategoryName, SourceOccurrence.AttendanceTypeName, SourceOccurrence.Name), true);
            }

            return(bSuccess);
        }