Exemple #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="sendID"></param>
        /// <returns></returns>
        public static SendInfo GetSend(string sendID)
        {
            using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["SqlServer"].ConnectionString))
            {
                SqlCommand cmd = conn.CreateCommand();
                cmd.CommandText = @"SELECT [snd].*,
	mta_send_messages AS 'Messages',
	mta_send_accepted AS 'Accepted',
	mta_send_rejected AS 'Rejected',
	([snd].mta_send_messages - (mta_send_accepted + mta_send_rejected)) AS 'Waiting',
	(SELECT COUNT(*) FROM man_mta_transaction as [tran] with(nolock) JOIN man_mta_msg as [msg] with(nolock) ON [tran].mta_msg_id = [msg].mta_msg_id WHERE [msg].mta_send_internalId = [snd].mta_send_internalId AND [tran].mta_transactionStatus_id = 5) AS 'Throttled',
	(SELECT COUNT(*) FROM man_mta_transaction as [tran] with(nolock) JOIN man_mta_msg as [msg] with(nolock) ON [tran].mta_msg_id = [msg].mta_msg_id WHERE [msg].mta_send_internalId = [snd].mta_send_internalId AND [tran].mta_transactionStatus_id = 1) AS 'Deferred',
	(SELECT MAX(mta_transaction_timestamp) FROM man_mta_transaction as [tran] with(nolock) JOIN  man_mta_msg as [msg] with(nolock) ON [tran].mta_msg_id = [msg].mta_msg_id WHERE [msg].mta_send_internalId = [snd].mta_send_internalId) AS 'LastTransactionTimestamp'
FROM man_mta_send as [snd] with(nolock)
WHERE [snd].mta_send_id = @sndID";
                cmd.Parameters.AddWithValue("@sndID", sendID);
                return(DataRetrieval.GetSingleObjectFromDatabase <SendInfo>(cmd, CreateAndFillSendInfo));
            }
        }