internal bool PrepareTransaction(string childID, string guardianID)
        {
            TransactionDB transDB = new TransactionDB();

            string[] transaction = transDB.FindTransaction(this.allowanceID);
            if (transaction == null || this.allowanceID == null)
            {
                WPFMessageBox.Show("Unable to check out child. Please log out then try again.");
                return(false);
            }
            this.eventName = transaction[1];
            string transactionDate = transaction[3];
            string checkInTime     = transaction[4];

            checkInTime = Convert.ToDateTime(checkInTime).ToString("HH:mm:ss");
            string checkOutTime = DateTime.Now.ToString("HH:mm:ss");
            double eventFee     = FindEventFee(guardianID, eventName);

            this.lateTime = settings.CheckIfPastClosing(DateTime.Now.DayOfWeek.ToString(), TimeSpan.Parse(checkOutTime));
            eventFee      = CalculateTransaction(checkInTime, checkOutTime, eventName, eventFee);
            string eventFeeRounded = eventFee.ToString("f2");

            db.CheckOut(DateTime.Now.ToString("HH:mm:ss"), eventFeeRounded, this.allowanceID);
            CompleteTransaction(eventFee, this.eventName, DateTime.Now.ToString("yyyy-MM-dd"));
            return(true);
        }