/// <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)); } }