Exemplo n.º 1
0
        /// <summary>
        /// Retrieves all the PartnerReminders that need to be processed.
        /// </summary>
        /// <param name="ALastReminderDate">Date when PartnerReminders processing last ran.</param>
        /// <param name="APartnerReminderDT">PartnerReminders DataRows that need to be processed.</param>
        /// <param name="ADBAccessObj">Already instatiated DB Access object with opened DB connection.</param>
        /// <param name="AReadTransaction">Already instantiated DB Transaction.</param>
        /// <returns>DataSet containing the <paramref name="APartnerReminderDT" /> DataTable.</returns>
        private static DataSet GetRemindersToProcess(DateTime ALastReminderDate, out PPartnerReminderTable APartnerReminderDT,
                                                     TDataBase ADBAccessObj, TDBTransaction AReadTransaction)
        {
            List <OdbcParameter> OdbcParams;
            string SQLCommand;

            // Add Typed DataTable to a DataSet so we get the Partner Reminders in a Typed DataTable
            APartnerReminderDT = new PPartnerReminderTable();
            DataSet ReminderResultsDS = new DataSet();

            ReminderResultsDS.Tables.Add(APartnerReminderDT);

            SQLCommand  = "SELECT * FROM PUB_p_partner_reminder WHERE ";
            SQLCommand += " ( p_next_reminder_date_d > ? OR p_last_reminder_sent_d IS NULL) AND ";
            SQLCommand += " p_next_reminder_date_d <= ? AND ";
            SQLCommand += " p_reminder_active_l = TRUE AND ";
            SQLCommand += " p_email_address_c <> ''";

            OdbcParams = new List <OdbcParameter>();

            // Parameter 1 = LastReminderDate from SystemDefaults
            OdbcParams.Add(new OdbcParameter("LastDate", OdbcType.Date));
            OdbcParams[0].Value = ALastReminderDate.Date;

            // Parameter 2 = Today's date
            OdbcParams.Add(new OdbcParameter("Now", OdbcType.Date));
            OdbcParams[1].Value = DateTime.Now.Date;

            DBAccess.GDBAccessObj.Select(ReminderResultsDS, SQLCommand, APartnerReminderDT.TableName, AReadTransaction, OdbcParams.ToArray());

            // Mark the data as being 'unchanged' (rather than 'new', which it is by default)
            ReminderResultsDS.AcceptChanges();

            return(ReminderResultsDS);
        }
        /// <summary>
        /// Retrieves all the PartnerReminders that need to be processed.
        /// </summary>
        /// <param name="ALastReminderDate">Date when PartnerReminders processing last ran.</param>
        /// <param name="APartnerReminderDT">PartnerReminders DataRows that need to be processed.</param>
        /// <param name="ADBAccessObj">Already instatiated DB Access object with opened DB connection.</param>
        /// <param name="AReadTransaction">Already instantiated DB Transaction.</param>
        /// <returns>DataSet containing the <paramref name="APartnerReminderDT" /> DataTable.</returns>
        private static DataSet GetRemindersToProcess(DateTime ALastReminderDate, out PPartnerReminderTable APartnerReminderDT,
            TDataBase ADBAccessObj, TDBTransaction AReadTransaction)
        {
            List <OdbcParameter>OdbcParams;
            string SQLCommand;

            // Add Typed DataTable to a DataSet so we get the Partner Reminders in a Typed DataTable
            APartnerReminderDT = new PPartnerReminderTable();
            DataSet ReminderResultsDS = new DataSet();
            ReminderResultsDS.Tables.Add(APartnerReminderDT);

            SQLCommand = "SELECT * FROM PUB_p_partner_reminder WHERE ";
            SQLCommand += " ( p_next_reminder_date_d > ? OR p_last_reminder_sent_d IS NULL) AND ";
            SQLCommand += " p_next_reminder_date_d <= ? AND ";
            SQLCommand += " p_reminder_active_l = TRUE AND ";
            SQLCommand += " p_email_address_c <> ''";

            OdbcParams = new List <OdbcParameter>();

            // Parameter 1 = LastReminderDate from SystemDefaults
            OdbcParams.Add(new OdbcParameter("LastDate", OdbcType.Date));
            OdbcParams[0].Value = ALastReminderDate.Date;

            // Parameter 2 = Today's date
            OdbcParams.Add(new OdbcParameter("Now", OdbcType.Date));
            OdbcParams[1].Value = DateTime.Now.Date;

            DBAccess.GDBAccessObj.Select(ReminderResultsDS, SQLCommand, APartnerReminderDT.TableName, AReadTransaction, OdbcParams.ToArray());

            // Mark the data as being 'unchanged' (rather than 'new', which it is by default)
            ReminderResultsDS.AcceptChanges();

            return ReminderResultsDS;
        }