USP_RECORDOPERATION_MODELSCORESGLOBALDELETEPROMPT
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | |
@COUNT | int | INOUT | |
@ATTRIBUTETYPELABEL | nvarchar(200) | INOUT |
Definition
Copy
create procedure dbo.USP_RECORDOPERATION_MODELSCORESGLOBALDELETEPROMPT (
@ID uniqueidentifier,
@COUNT int output,
@ATTRIBUTETYPELABEL nvarchar(200) output
) as
set nocount on;
--Get the labels and count. Guids need to be updated here, in the delete above, and in the ModelScoresPropensityAndRatings.SimpleList.vb
if(@ID = '10000000-0000-0000-0000-000000000000')
begin
set @ATTRIBUTETYPELABEL = 'Annual giving likelihood';
select @COUNT = count(1) from dbo.MODELINGANDPROPENSITY where ANNUALGIFTLIKELIHOOD <> -1;
end
else if(@ID = '20000000-0000-0000-0000-000000000000')
begin
set @ATTRIBUTETYPELABEL = 'Annuity likelihood';
select @COUNT = count(1) from dbo.MODELINGANDPROPENSITY where ANNUITYLIKELIHOOD <> -1;
end
else if(@ID = '30000000-0000-0000-0000-000000000000')
begin
set @ATTRIBUTETYPELABEL = 'Bequest likelihood';
select @COUNT = count(1) from dbo.MODELINGANDPROPENSITY where BEQUESTLIKELIHOOD <> -1;
end
else if(@ID = '40000000-0000-0000-0000-000000000000')
begin
set @ATTRIBUTETYPELABEL = 'CRT likelihood';
select @COUNT = count(1) from dbo.MODELINGANDPROPENSITY where CRTLIKELIHOOD <> -1;
end
else if(@ID = '50000000-0000-0000-0000-000000000000')
begin
set @ATTRIBUTETYPELABEL = 'Major giving likelihood';
select @COUNT = count(1) from dbo.MODELINGANDPROPENSITY where MAJORGIVINGLIKELIHOOD <> -1;
end
else if(@ID = '60000000-0000-0000-0000-000000000000')
begin
set @ATTRIBUTETYPELABEL = 'Membership likelihood';
select @COUNT = count(1) from dbo.MODELINGANDPROPENSITY where MEMBERSHIPLIKELIHOOD <> -1;
end
else if(@ID = '70000000-0000-0000-0000-000000000000')
begin
set @ATTRIBUTETYPELABEL = 'Online giving likelihood';
select @COUNT = count(1) from dbo.MODELINGANDPROPENSITY where ONLINEGIVINGLIKELIHOOD <> -1;
end
else if(@ID = '80000000-0000-0000-0000-000000000000')
begin
set @ATTRIBUTETYPELABEL = 'Patient response likelihood';
select @COUNT = count(1) from dbo.MODELINGANDPROPENSITY where PATIENTRESPONSELIKELIHOOD <> -1;
end
else if(@ID = '90000000-0000-0000-0000-000000000000')
begin
set @ATTRIBUTETYPELABEL = 'Planned giving likelihood';
select @COUNT = count(1) from dbo.MODELINGANDPROPENSITY where PLANNEDGIFTLIKELIHOOD <> -1;
end
else if(@ID = 'A0000000-0000-0000-0000-000000000000')
begin
set @ATTRIBUTETYPELABEL = 'Suggested membership level';
select @COUNT = count(1) from dbo.MODELINGANDPROPENSITY where SUGGESTEDMEMBERSHIPLEVELID is not null;
end
else if(@ID = 'B0000000-0000-0000-0000-000000000000')
begin
set @ATTRIBUTETYPELABEL = 'NCOA moved indicator';
select @COUNT = count(1) from dbo.MODELINGANDPROPENSITY where NCOAMOVEDINDICATOR <> 0;
end
else if(@ID = 'C0000000-0000-0000-0000-000000000000')
begin
set @ATTRIBUTETYPELABEL = 'Wealth estimator rating';
select @COUNT = count(1) from dbo.MODELINGANDPROPENSITY where WEALTHESTIMATORRATINGID is not null;
end
else if(@ID = 'D0000000-0000-0000-0000-000000000000')
begin
set @ATTRIBUTETYPELABEL = 'Target gift range';
select @COUNT = count(1) from dbo.MODELINGANDPROPENSITY where TARGETGIFTRANGEID is not null;
end
--Attributes require a dynamic delete using the guid to find a table.
else
begin
select @ATTRIBUTETYPELABEL = NAME from dbo.ATTRIBUTECATEGORY where ID = @ID;
declare @ATTRIBUTEID nvarchar(32) = REPLACE(CAST(@ID as nvarchar(36)), '-', '');
declare @ATTRIBUTECOUNTSQL nvarchar(200) = REPLACE('select @COUNT = count(1) from dbo.ATTRIBUTE{0}', '{0}', @ATTRIBUTEID);
declare @OUTPUTDEF nvarchar(100) = '@COUNT int output';
execute sp_executesql @ATTRIBUTECOUNTSQL, @OUTPUTDEF, @COUNT=@COUNT output;
end