spGetAppealListRecordCounts
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@AppealListID | int | IN | |
@AppealListOrigin | tinyint | IN |
Definition
Copy
CREATE PROCEDURE [dbo].[spGetAppealListRecordCounts]
@AppealListID int,
@AppealListOrigin tinyint
as
DECLARE @TargetCount int
DECLARE @ExcludedCount int
DECLARE @InvalidAddressCount int
DECLARE @TotalUploaded float
DECLARE @EmailListID int
DECLARE @ListOrigin int
DECLARE @AppealID int
SELECT @EmailListID = el.[ID], @ListOrigin = el.Origin, @AppealID = epael.EmailProjectAppealID, @TotalUploaded = el.AcquiredRecordCount
FROM EmailProjectAppeal_EmailList epael inner join EmailList el on epael.[EmailListID] = el.[ID]
WHERE epael.[ID] = @AppealListID
IF @AppealListOrigin = 1
BEGIN
SET @ExcludedCount = (SELECT COUNT(ml.BB_XListRecordID) FROM dbo.fnGetExclusionEmailAddresses(@AppealID) ex inner join emaillistUploadMasterList ml
on ex.EmailAddress = ml.EmailAddress WHERE ml.EmailListID = @EmailListID)
SET @InvalidAddressCount = (SELECT COUNT(BB_XListRecordID) FROM EmailListUploadMasterList WHERE ISNULL(EmailAddress,'') = '' AND EmailListID = @EmailListID)
SET @TargetCount = ISNULL(@TotalUploaded,0) - (IsNull(@ExcludedCount,0) + IsNull(@InvalidAddressCount,0))
SELECT [ID], [Name], DataSourceID as DataSource, ISNULL(@TotalUploaded,'0') as TotalRecords, ISNULL(@TargetCount,'0') as Eligible, ISNULL(@InvalidAddressCount,'0') as MissingAddress, ISNULL(@ExcludedCount,'0') as Excluded FROM EmailList WHERE [ID] = @EmailListID
ORDER BY [ID], [Name], DataSourceID, TotalRecords, Eligible, MissingAddress, Excluded
END
ELSE
BEGIN
SET @ExcludedCount = (SELECT COUNT(elp.ID) FROM dbo.fnGetExclusionEmailAddresses(@AppealID) ex inner join EmailList_People elp
on ex.EmailAddress = elp.EmailAddress WHERE elp.EmailListID = @EmailListID)
SET @InvalidAddressCount = (SELECT COUNT(ID) FROM EmailList_People WHERE ISNULL(EmailAddress,'') = '' AND EmailListID = @EmailListID)
SET @TargetCount = ISNULL(@TotalUploaded,0) - (IsNull(@ExcludedCount,0) + IsNull(@InvalidAddressCount,0))
SELECT [ID], [Name], DataSourceID as DataSource, ISNULL(@TotalUploaded,'0') as TotalRecords, ISNULL(@TargetCount,'0') as Eligible, ISNULL(@InvalidAddressCount,'0') as MissingAddress, ISNULL(@ExcludedCount,'0') as Excluded FROM EmailList WHERE [ID] = @EmailListID
ORDER BY [ID], [Name], DataSourceID, TotalRecords, Eligible, MissingAddress, Excluded
END