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