USP_DATAFORMTEMPLATE_VIEW_PROSPECTRESEARCHREQUESTPAGEEXPRESSION
The load procedure used by the view dataform template "Prospect Research Request Page Expression View"
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | The input ID parameter used to load the fields defined on the form. |
@CURRENTAPPUSERID | uniqueidentifier | IN | Input parameter indicating the ID of the current user. |
@DATALOADED | bit | INOUT | Output parameter indicating whether or not data was actually loaded. |
@REQUESTNO | int | INOUT | Request ID: |
@STATUSCODE | tinyint | INOUT | Status code: |
@ENABLEADDITIONALPROSPECTADD | bit | INOUT | Enable additional prospect add |
@CURRENTUSERID | uniqueidentifier | INOUT | Current user ID |
@ISAPPUSER | bit | INOUT | |
@ISFUNDRAISER | bit | INOUT |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_VIEW_PROSPECTRESEARCHREQUESTPAGEEXPRESSION
(
@ID uniqueidentifier,
@CURRENTAPPUSERID uniqueidentifier,
@DATALOADED bit = 0 output,
@REQUESTNO integer = null output,
@STATUSCODE tinyint = null output,
@ENABLEADDITIONALPROSPECTADD bit = null output,
@CURRENTUSERID uniqueidentifier = null output,
@ISAPPUSER bit = null output,
@ISFUNDRAISER bit = null output
)
as
set nocount on;
-- be sure to set this, in case the select returns no rows
set @DATALOADED = 0;
declare @RECORDTYPECODE tinyint
declare @EVENTID uniqueidentifier
declare @RESEARCHGROUPID uniqueidentifier
declare @CONSTITUENTSINREQUEST int
select @CURRENTUSERID = CONSTITUENTID from dbo.APPUSER where ID = @CURRENTAPPUSERID
set @ISAPPUSER = case when @CURRENTUSERID is null then 0 else 1 end;
set @ISFUNDRAISER = 0;
if @ISAPPUSER = 1
if exists(select top 1 CONSTITUENTID from dbo.FUNDRAISERDATERANGE where CONSTITUENTID = @CURRENTUSERID)
set @ISFUNDRAISER = 1;
select
@DATALOADED = 1,
@REQUESTNO = PRR.REQUESTNO,
@STATUSCODE = PRR.STATUSCODE,
@RECORDTYPECODE = PRR.RECORDTYPECODE,
@EVENTID = PRR.EVENTID,
@RESEARCHGROUPID = PRR.RESEARCHGROUPID
from
dbo.PROSPECTRESEARCHREQUEST PRR
where
PRR.ID = @ID
set @ENABLEADDITIONALPROSPECTADD = 1
select @CONSTITUENTSINREQUEST = count(PRRC.ID) from dbo.PROSPECTRESEARCHREQUESTCONSTITUENT PRRC where PRRC.PROSPECTRESEARCHREQUESTID = @ID
if @CONSTITUENTSINREQUEST = 500 begin
set @ENABLEADDITIONALPROSPECTADD = 0
end
else if @RECORDTYPECODE = 1 begin
if @CONSTITUENTSINREQUEST = (select count(R.ID) from dbo.REGISTRANT R join dbo.CONSTITUENT C on C.ID = R.CONSTITUENTID and C.ISORGANIZATION = 0 and C.ISGROUP = 0 where R.EVENTID = @EVENTID) or @EVENTID is null begin
set @ENABLEADDITIONALPROSPECTADD = 0
end
end
else if @RECORDTYPECODE = 2 begin
if @CONSTITUENTSINREQUEST = (select count(RGM.ID) from dbo.RESEARCHGROUPMEMBER RGM join dbo.CONSTITUENT C on C.ID = RGM.CONSTITUENTID and C.ISORGANIZATION = 0 and C.ISGROUP = 0 where RGM.RESEARCHGROUPID = @RESEARCHGROUPID) or @RESEARCHGROUPID is null begin
set @ENABLEADDITIONALPROSPECTADD = 0
end
end
return 0;