USP_DATAFORMTEMPLATE_VIEW_FAFEVENT_HOME
The load procedure used by the view dataform template "FAFEvent Home"
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. |
@EVENTID | uniqueidentifier | INOUT | EVENTID |
@GOALISSET | bit | INOUT | GOALISSET |
@SOCIALNETWORKISSET | bit | INOUT | SOCIALNETWORKISSET |
@LABELISSET | bit | INOUT | Label |
@MERCHANTACCOUNTISSET | bit | INOUT | Merchant Account |
@TEAMHIERARCHYISSET | bit | INOUT | Team Hierarchy |
@SPONSORSHIPOPTIONISSET | bit | INOUT | SPONSORSHIPOPTIONISSET |
@WAIVERISSET | bit | INOUT | WAIVERISSET |
@REGISTRATIONOPTIONISSET | bit | INOUT | REGISTRATIONOPTIONISSET |
@INCENTIVEOPTIONISSET | bit | INOUT | Incentive option |
@INCENTIVELEVELISSET | bit | INOUT | INCENTIVELEVELISSET |
@DONATIONOPTIONSISSET | bit | INOUT | DONATIONOPTIONSISSET |
@REVENUERULESISSET | bit | INOUT | REVENUERULESISSET |
@FUNDRAISINGCOACHISSET | bit | INOUT | Fundraising coaches |
@REGCFMISSET | bit | INOUT | REGCFMISSET |
@SPOCFMISSET | bit | INOUT | SPOCFMISSET |
@DONCFMISSET | bit | INOUT | DONCFMISSET |
@VOLCFMISSET | bit | INOUT | VOLCFMISSET |
@PARTICIPANTNOTIFICATIONISSET | bit | INOUT | PARTICIPANTNOTIFICATIONISSET |
@PARTICIPANTCOMMUNICATIONISSET | bit | INOUT | PARTICIPANTCOMMUNICATIONISSET |
@MANAGEWEBSITEISSET | bit | INOUT | MANAGEWEBSITEISSET |
@CONTACTFMISSET | bit | INOUT | CONTACTFMISSET |
@FORMISSET | bit | INOUT | FORMISSET |
@SCHEDULEMESSAGEISSET | bit | INOUT | SCHEDULEMESSAGEISSET |
@ISMAPBBNCUSER | bit | INOUT | ISMAPBBNCUSER |
@CLIENTSITESID | int | INOUT | CLIENTSITESID |
@INTEGRATIONURL | nvarchar(1024) | INOUT | INTEGRATIONURL |
@AID | int | INOUT | AID |
@REGFORMID | uniqueidentifier | INOUT | REGFORMID |
@DONFORMID | uniqueidentifier | INOUT | DONFORMID |
@SPONFORMID | uniqueidentifier | INOUT | SPONFORMID |
@CONTACTFORMID | uniqueidentifier | INOUT | CONTACTFORMID |
@PROFILEFORMID | uniqueidentifier | INOUT | PROFILEFORMID |
@ISMANAGETHEMEDISABLED | bit | INOUT | ISMANAGETHEMEDISABLED |
@PREFERENCESFORMID | uniqueidentifier | INOUT | PREFERENCESFORMID |
@ISPUBLISHED | bit | INOUT | ISPUBLISHED |
@ISLOADED | bit | INOUT | ISLOADED |
@ISIMPORTSUCCESS | bit | INOUT | ISIMPORTSUCCESS |
@ISIMPORTING | bit | INOUT | |
@CONFIRMATIONISSET | bit | INOUT | |
@ACKNOWLEDGEMENTISSET | bit | INOUT | |
@SOCIALNETWORKPUBLISHISSET | bit | INOUT |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_VIEW_FAFEVENT_HOME
(
@ID uniqueidentifier,
@CURRENTAPPUSERID uniqueidentifier=null,
@DATALOADED bit = 0 output,
@EVENTID uniqueidentifier = null output,
@GOALISSET bit = null output,
@SOCIALNETWORKISSET bit = null output,
@LABELISSET bit = null output,
@MERCHANTACCOUNTISSET bit = null output,
@TEAMHIERARCHYISSET bit = null output,
@SPONSORSHIPOPTIONISSET bit = null output,
@WAIVERISSET bit = null output,
@REGISTRATIONOPTIONISSET bit = null output,
@INCENTIVEOPTIONISSET bit = null output,
@INCENTIVELEVELISSET bit = null output,
@DONATIONOPTIONSISSET bit = null output,
@REVENUERULESISSET bit = null output,
@FUNDRAISINGCOACHISSET bit = null output,
@REGCFMISSET bit = null output,
@SPOCFMISSET bit = null output,
@DONCFMISSET bit = null output,
@VOLCFMISSET bit = null output,
@PARTICIPANTNOTIFICATIONISSET bit = null output,
@PARTICIPANTCOMMUNICATIONISSET bit = null output,
@MANAGEWEBSITEISSET bit = null output,
@CONTACTFMISSET bit = null output,
@FORMISSET bit = null output,
@SCHEDULEMESSAGEISSET bit = null output,
@ISMAPBBNCUSER bit = null output,
@CLIENTSITESID int = null output,
@INTEGRATIONURL nvarchar(1024) = null output,
@AID int = null output, -- client user id (abstract term since we want to use it in web UI)--
@REGFORMID uniqueidentifier = null output,
@DONFORMID uniqueidentifier = null output,
@SPONFORMID uniqueidentifier = null output,
@CONTACTFORMID uniqueidentifier = null output,
@PROFILEFORMID uniqueidentifier = null output,
@ISMANAGETHEMEDISABLED bit = null output,
@PREFERENCESFORMID uniqueidentifier = null output,
@ISPUBLISHED bit = null output,
@ISLOADED bit = null output,
@ISIMPORTSUCCESS bit = null output,
@ISIMPORTING bit = null output,
@CONFIRMATIONISSET bit = null output,
@ACKNOWLEDGEMENTISSET bit = null output,
@SOCIALNETWORKPUBLISHISSET bit = null output
)
as
set nocount on;
declare @FAFEventAdminRoleId int,
@IsFAFEventAdmin bit,
@ClientUserId int,
@importuser uniqueidentifier,
@lasterror nvarchar(500)
-- be sure to set this, in case the select returns no rows
set @DATALOADED = 0;
if ((select value from dbo.CMSSITESETTING where CLIENTSITESID in (select CLIENTSITESID from dbo.EVENTEXTENSION where EVENTID = @ID) and ENUMID = 35) = 'True')
set @ISMANAGETHEMEDISABLED=1
-- be sure to select default apexform template
if OBJECT_ID('tempdb.dbo.#ApexTmp') is not null
begin
drop table #ApexTmp
end
select AF.ID, AF.NAME, AF.DATEADDED , AF.FORMTYPEID, AF.SITEID into #ApexTmp from APEXFORM AF
inner join EVENTEXTENSION EX on AF.SITEID = EX.CLIENTSITESID
where EX.EVENTID = @ID and AF.NAME not like '%Mobile%'
and NOT EXISTS (select * from APEXFORM AT INNER JOIN EVENTEXTENSION EX on AT.SITEID = EX.CLIENTSITESID
where EX.EVENTID = @ID and AT.FORMTYPEID = AF.FORMTYPEID and AT.DATEADDED < AF.DATEADDED)
select @DATALOADED = 1,
@EVENTID = EX.EVENTID,
@INTEGRATIONURL = dbo.UFN_BBNC_URL(),
@ISLOADED = dbo.UFN_FAFWEBSITE_ISIMPORTED(@ID),
@ISIMPORTSUCCESS = dbo.UFN_FAFWEBSITE_ISIMPORTSUCCESS(@ID), /* always return 1 unless import actually failed */
@ISIMPORTING = case when isnull(EI.ISIMPORTINGBYUSERID,@CURRENTAPPUSERID) = @CURRENTAPPUSERID then 0 else 1 end,
@importuser = EI.ISIMPORTINGBYUSERID,
@CLIENTSITESID=CLIENTSITESID,
@ISPUBLISHED = dbo.UFN_CLIENTSITES_GETEVENTWEBSITESTATUS(@ID),
@FORMISSET = case when REG.ID is not null or SPON.ID is not null or DON.ID is not null or CONTACT.ID is not null or PROF.ID is not null or PREF.ID is not null then 1 else 0 end,
@REGFORMID = case when REGNEW.ID is not null then REGNEW.ID else REG.ID end,
@SPONFORMID = SPON.ID,
@DONFORMID = DON.ID,
@CONTACTFORMID = CONTACT.ID,
@PROFILEFORMID = PROF.ID,
@PREFERENCESFORMID = PREF.ID
from dbo.EVENTEXTENSION EX
left join dbo.EVENTIMPORT EI on EX.EVENTID = EI.ID
left join #ApexTmp REG ON EX.CLIENTSITESID = REG.SITEID AND REG.FORMTYPEID = '34C019D8-9CD0-4321-9778-09BD145A3E57'
left join #ApexTmp REGNEW ON EX.CLIENTSITESID = REGNEW.SITEID AND REGNEW.FORMTYPEID = '0B29CBAA-0B53-47CC-B6B9-B96311299584'
left join #ApexTmp SPON ON EX.CLIENTSITESID = SPON.SITEID and SPON.FORMTYPEID = '59F07A4F-FE97-47D9-A197-B430E8BCBC1C'
left join #ApexTmp DON ON EX.CLIENTSITESID = DON.SITEID and DON.FORMTYPEID = '33BE06AD-F3EF-46C9-A002-3DD13790737E'
left join #ApexTmp CONTACT ON EX.CLIENTSITESID = CONTACT.SITEID and CONTACT.FORMTYPEID = '644EBCF1-15B1-4B24-AD45-AF1A63A9CBEE'
left join #ApexTmp PROF ON EX.CLIENTSITESID = PROF.SITEID and PROF.FORMTYPEID = '714FB1BE-4A9D-4CA1-B819-8B5B562037A1'
left join #ApexTmp PREF ON EX.CLIENTSITESID = PREF.SITEID and PREF.FORMTYPEID = '89D3C4CC-4D01-4E8B-B82E-04AD966EEE09'
where EX.EVENTID = @ID
if @ISLOADED = 0 --and @ISIMPORTSUCCESS = 0
begin
declare @CHANGEAGENTID uniqueidentifier,
@CURRENTDATE datetime
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output
set @CURRENTDATE = getdate()
merge into dbo.EVENTIMPORT as Target
using
(
select E.ID, ISNULL(IMPORTATTEMPT, 1) as IMPORTATTEMPT from dbo.EVENT E
left join dbo.EVENTIMPORT EI on E.ID = EI.ID
where E.ID = @ID
) as source on Target.ID = source.ID
when matched then
update set [IMPORTATTEMPT] = source.[IMPORTATTEMPT] + 1, ISIMPORTINGBYUSERID = @CURRENTAPPUSERID
when not matched then
insert (ID, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED, ISIMPORTINGBYUSERID)
values (@ID, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE, @CURRENTAPPUSERID);
select @lasterror=LASTIMPORTERROR from dbo.PAGEMODEL where CLIENTSITESID = @CLIENTSITESID
if @lasterror <> '' and @lasterror like '%Error%'
begin
if (select [IMPORTATTEMPT] from dbo.EVENTIMPORT where ID = @ID) > 2
begin
set @ISIMPORTSUCCESS = 0
update dbo.EVENTIMPORT set [IMPORTATTEMPT] = 1 where ID = @ID
end
else
set @ISIMPORTSUCCESS = 1
end
end
if @ISLOADED = 1 and @importuser is not null
update dbo.EVENTIMPORT set ISIMPORTINGBYUSERID = null where ID = @ID
select @ClientUserId=cu.ID, @AID=cu.ID from dbo.BBNCUSERMAP map
join dbo.ClientUsers cu on cu.UserName=map.BBNCUSERNAME
where map.ID=@CURRENTAPPUSERID
if @ClientUserId is null
set @ISMAPBBNCUSER = 0
else
begin
select @FAFEventAdminRoleId=cr.ID from dbo.ClientRoles cr where cr.Guid='4625EB3C-1673-4D8C-95D8-BD0B1AD201A6';
if @FAFEventAdminRoleId is null
set @ISMAPBBNCUSER = 1
else
begin
select @IsFAFEventAdmin = case when count(0)=0 then 0 else 1 end
from UserRoles ur
where ur.ClientUsersID=@ClientUserId and ur.ClientRolesID=@FAFEventAdminRoleId
if @IsFAFEventAdmin = 0
insert into UserRoles (ClientUsersID, ClientRolesID, ManuallyAdded) values (@ClientUserId, @FAFEventAdminRoleId, 1)
set @ISMAPBBNCUSER = 1
end
end
drop table #ApexTmp
return 0;