/// <summary>
        /// The object factory for a particular data collection instance.
        /// </summary>
        public virtual void CreateObjectsFromData(PurchaseCreditCollection purchasecreditcollection, System.Data.SqlClient.SqlDataReader data)
        {
            // Do nothing if we have nothing
            if (data == null) return;

            // Create a local variable for the new instance.
            PurchaseCredit newobj = null;
            // Iterate through the data reader
            while (data.Read())
            {
                // Create a new object instance
                newobj = System.Activator.CreateInstance(purchasecreditcollection.ContainsType[0]) as PurchaseCredit;
                // Let the instance set its own members
                newobj.SetMembers(ref data);
                // Add the new object to the collection instance
                purchasecreditcollection.Add(newobj);
            }
        }
        /// <summary>
        /// The object factory for a particular data collection instance.
        /// </summary>
        public virtual void CreateObjectsFromData(PurchaseCreditCollection purchasecreditcollection, System.Data.DataSet data)
        {
            // Do nothing if we have nothing
            if (data == null || data.Tables.Count == 0 || data.Tables[0].Rows.Count == 0) return;

            // Create a local variable for the new instance.
            PurchaseCredit newobj = null;
            // Create a local variable for the data row instance.
            System.Data.DataRow dr = null;

            // Iterate through the table rows
            for (int i = 0; i<data.Tables[0].Rows.Count; i++)
            {
                // Get a reference to the data row
                dr = data.Tables[0].Rows[i];
                // Create a new object instance
                newobj = System.Activator.CreateInstance(purchasecreditcollection.ContainsType[0]) as PurchaseCredit;
                // Let the instance set its own members
                newobj.SetMembers(ref dr);
                // Add the new object to the collection instance
                purchasecreditcollection.Add(newobj);
            }
        }
        /// <summary>
        /// Gets all the available objects.
        /// </summary>
        public virtual PurchaseCreditCollection GetAll()
        {
            // create a new instance of the return object
            PurchaseCreditCollection objects = new PurchaseCreditCollection();

            // fill the objects
            this.Fill(objects);

            // return the filled object from the service
            return objects;
        }
        /// <summary>
        /// Fill method for populating a collection by TRANSACTION_DETAIL
        /// </summary>
        public void FillByTransactionDetail(PurchaseCreditCollection purchaseCreditCollection, System.Int64 loanApplicationId)
        {
            // create the connection to use
            SqlConnection cnn = new SqlConnection(PurchaseCredit.GetConnectionString());

            try
            {
                // discover the sql parameters
                SqlParameterHash sqlparams = SqlHelperParameterCache.GetSpParameterSet(PurchaseCredit.GetConnectionString(), "gsp_SelectPurchaseCreditCollectionByTransactionDetail");

                using (cnn)
                {
                    // open the connection
                    cnn.Open();

                    // set the parameters
                    sqlparams["@loanApplicationId"].Value = loanApplicationId;

                    // create an instance of the reader to fill.
                    SqlDataReader datareader = SqlHelper.ExecuteReader(cnn, "gsp_SelectPurchaseCreditCollectionByTransactionDetail", sqlparams);

                    // Send the collection and data to the object factory.
                    CreateObjectsFromData(purchaseCreditCollection, datareader);

                    // close the connection
                    cnn.Close();
                }

                // nullify the connection
                cnn = null;
            }
            catch (SqlException sqlex)
            {
                throw sqlex;
            }
        }
        /// <summary>
        /// Fill method for populating an entire collection of PurchaseCreditCollection
        /// </summary>
        public virtual void Fill(PurchaseCreditCollection purchaseCreditCollection)
        {
            // create the connection to use
            SqlConnection cnn = new SqlConnection(PurchaseCredit.GetConnectionString());

            try
            {
                using (cnn)
                {
                    // open the connection
                    cnn.Open();

                    // create an instance of the reader to fill.
                    SqlDataReader datareader = SqlHelper.ExecuteReader(cnn, "gsp_SelectPurchaseCreditCollection");

                    // Send the collection and data to the object factory
                    CreateObjectsFromData(purchaseCreditCollection, datareader);

                    // close the connection
                    cnn.Close();
                }

                // nullify the connection
                cnn = null;
            }
            catch (SqlException sqlex)
            {
                throw sqlex;
            }
        }
        /// <summary>
        /// Gets the objects for the PURCHASE_CREDIT relationship.
        /// </summary>
        public PurchaseCreditCollection GetPurchaseCreditCollection()
        {
            PurchaseCreditCollection purchasecreditcollection = new PurchaseCreditCollection();

            PurchaseCreditBase.ServiceObject.FillByTransactionDetail(purchasecreditcollection, _loanapplicationid);
            return purchasecreditcollection;
        }
        /// <summary>
        /// Gets the objects for the PURCHASE_CREDIT relationship.
        /// </summary>
        public PurchaseCreditCollection GetPurchaseCreditCollection()
        {
            PurchaseCreditCollection purchasecreditcollection = new PurchaseCreditCollection();

            PurchaseCreditBase.ServiceObject.FillByPurchaseCreditSourceType(purchasecreditcollection, _id);
            return purchasecreditcollection;
        }