}         // CreateSecurityUserStuff

        private void CreateCustomerStuff()
        {
            Log.Debug("Sign up attempt '{0}': validating mobile phone...", this.uniqueID);

            bool mobilePhoneVerified = false;

            if (!this.model.CaptchaMode)
            {
                var vmc = new ValidateMobileCode(this.model.MobilePhone, this.model.MobileVerificationCode)
                {
                    Transaction = this.dbTransaction
                };
                vmc.Execute();
                mobilePhoneVerified = vmc.IsValidatedSuccessfully();
            }             // if

            Log.Debug("Sign up attempt '{0}': creating a customer entry...", this.uniqueID);

            var customer = new CreateCustomer(this, mobilePhoneVerified);

            customer.ExecuteNonQuery(this.dbTransaction);
            RefNumber = customer.RefNumber;

            Log.Debug("Sign up attempt '{0}': creating a campaign source reference entry...", this.uniqueID);

            if (!this.model.BrokerFillsForCustomer)
            {
                new CreateCampaignSourceRef(this).ExecuteNonQuery(this.dbTransaction);
            }

            Log.Debug("Sign up attempt '{0}': creating a requested loan entry...", this.uniqueID);

            new CreateCustomerRequestedLoan(this).ExecuteNonQuery(this.dbTransaction);

            Log.Debug("Sign up attempt '{0}': creating a source reference history entry...", this.uniqueID);

            SaveSourceRefHistory();

            if (this.model.IsAlibaba())
            {
                Log.Debug("Sign up attempt '{0}': creating an Alibaba buyer entry...", this.uniqueID);
                new CreateAlibabaBuyer(this).ExecuteNonQuery(this.dbTransaction);
            }             // if

            Log.Debug("Sign up attempt '{0}': customer stuff was created.", this.uniqueID);
        }         // CreateCustomerStuff