/// <summary>
        /// Disapproves the request.
        /// </summary>
        /// <param name="adminMember">The admin member</param>
        /// <returns>The message</returns>
        public string Disapprove(FamilyMember adminMember)
        {
            var responseMessage        = string.Empty;
            var currentApprovalRequest = _smsApprovalHistory.GetRecentApprovalRequest(adminMember.Id);

            if (currentApprovalRequest == null)
            {
                return(string.Empty);
            }

            switch (currentApprovalRequest.ApprovalType)
            {
            case ApprovalType.GiftPurchase:
                if (currentApprovalRequest.PurchasedGiftCardID.HasValue)
                {
                    _spendService.DisapprovePurchasedGiftCard(currentApprovalRequest.PurchasedGiftCardID.Value);
                }
                break;

            case ApprovalType.StockPurchase:
                if (currentApprovalRequest.StockPurchaseRequestID.HasValue)
                {
                    _saveService.DisapprovePurchasedStock(currentApprovalRequest.StockPurchaseRequestID.Value);
                }
                break;

            case ApprovalType.CharityDonation:
                if (currentApprovalRequest.DonationID.HasValue)
                {
                    _charityService.DisapproveDonation(currentApprovalRequest.DonationID.Value);
                }
                break;

            case ApprovalType.CashOut:
                if (currentApprovalRequest.CashOutID.HasValue)
                {
                    _spendService.DisapproveCashOut(currentApprovalRequest.CashOutID.Value);
                }
                break;

            case ApprovalType.ChorePayment:
                _choreService.DisapprovePayDayPayment(adminMember.User.FamilyID);
                break;
            }

            _smsApprovalHistory.MarkAsNotActive(currentApprovalRequest.Id);
            return("Ok, got it. No allowance will be paid.");
        }