USP_DATALIST_PARTICIPANT_DEFAULT_TEMPLATE

Parameters

Parameter Parameter Type Mode Description
@CLIENTUSERSID int IN
@EVENTID uniqueidentifier IN
@NAME nvarchar(255) IN
@FAFTASKID uniqueidentifier IN
@TEMPLATEID uniqueidentifier IN
@ISLETTER bit IN

Definition

Copy


CREATE procedure dbo.USP_DATALIST_PARTICIPANT_DEFAULT_TEMPLATE(
  @CLIENTUSERSID int,
  @EVENTID uniqueidentifier,
  @NAME nvarchar(255) = null,
--  @COMMUNICATIONTYPE tinyint = 0, -- 1:Recruit participants, 2: Raise Money, 3: Fundraising Progress, 4: Gift Acknowledgement,

  @FAFTASKID uniqueidentifier = null,
  @TEMPLATEID uniqueidentifier = null,
  @ISLETTER bit  = 0
  )
as
    set nocount on;

 DECLARE @CONSTITUENTID uniqueidentifier
    SET @CONSTITUENTID = dbo.UFN_CONSTITUENT_GET_BY_CLIENTUSERID(@CLIENTUSERSID)



    DECLARE @ParticipantTemplates TABLE
    (
      ID uniqueidentifier,
      Name nvarchar(510),
      Description nvarchar(510),
      ContentHTML ntext,
      Subject nvarchar(510),
      ContactType nvarchar(1000),
      Admintemplate int,
      EMAILTEMPLATEID int,
      DateAdded datetime
    --  ISRECOMMENDED int,

      AvailableAsLetter bit,
      ISDEFAULTFORTASK int,
      LASTDAYSENT datetime,
      TASKNAME nvarchar(200),
      EVENTNAME nvarchar(200)
    )


        INSERT INTO @ParticipantTemplates
        ( ID, Name, Description, ContentHTML, Subject,    ContactType,  Admintemplate, EMAILTEMPLATEID, DateAdded,  AvailableAsLetter, ISDEFAULTFORTASK, LASTDAYSENT, TASKNAME, EVENTNAME )
      SELECT
           EET.ID,
           ET.NAME,
             ET.[DESCRIPTION],
           ET.ContentHTML,
           ET.[SUBJECT]    ,
           CONTACTTYPE = dbo.UFN_FAFPARTICIPANTEMAILCONTACTTYPES(ET.ID),
           1 AS [ADMINTEMPLATE],
           EET.EMAILTEMPLATEID,
           EET.DATEADDED,
          EET.AVAILABLEASLETTER,
          EET.ISDEFAULTFORTASK,
          '1/1/1900' AS [LASTDAYSENT],
          FT.NAME AS TASKNAME,
          E.NAME as EVENTNAME
      from dbo.EVENTEMAILTEMPLATE EET
          join EMAILTEMPLATE ET ON EET.EMAILTEMPLATEID = ET.ID
          join FAFTASK FT ON EET.FAFTASKID = FT.ID
          join EVENT E on E.ID = EET.EVENTID
            where EET.EVENTID = @EVENTID and EET.CONFIRMATIONTYPECODE = 100

      --    AND EET.ISAVAILABLETOCOMPANYLEADER = 1

          AND EET.ISACTIVE = 1
          AND ET.NAME = ISNULL(@NAME,ET.NAME)
          AND EET.FAFTASKID = @FAFTASKID
          AND EET.ID = ISNULL( @TEMPLATEID, EET.ID )
          AND EET.ISDEFAULTFORTASK = 1

          -- see if there are any records retrieved

            DECLARE @COUNT integer
            SET @COUNT = ( select COUNT(*) FROM @ParticipantTemplates )
            IF @COUNT = 0
            BEGIN 
                DECLARE @EVENTNAME as varchar(255)
                SET @EVENTNAME = (SELECT TOP 1 NAME FROM EVENT WHERE ID = @eventid
             INSERT INTO @ParticipantTemplates
                ( ID, Name, Description, ContentHTML, Subject,    ContactType,  Admintemplate, EMAILTEMPLATEID, DateAdded,  AvailableAsLetter, ISDEFAULTFORTASK, LASTDAYSENT, TASKNAME, EVENTNAME )

                 SELECT TOP 1
                null as ID,
                '' as NAME ,
                '' as DESCRIPTION, 
                '' as ContentHTML,
                '' as [SUBJECT]    ,
                '' AS CONTACTTYPE,  -- = dbo.UFN_FAFPARTICIPANTEMAILCONTACTTYPES(ET.ID),

                0 AS [ADMINTEMPLATE],
                null as EMAILTEMPLATEID,
                null as DATEADDED,
                0 as AVAILABLEASLETTER,
                0 as ISDEFAULTFORTASK,
                '1/1/1900' AS [LASTDAYSENT],
                FT.NAME AS TASKNAME,
                @EVENTNAME as EVENTNAME 
                FROM FAFTASK ft
                WHERE ft.id = @faftaskid
                  END


               INSERT INTO @ParticipantTemplates
        ( ID, Name, Description, ContentHTML, Subject, ContactType, Admintemplate, EMAILTEMPLATEID, DateAdded,  AvailableAsLetter,ISDEFAULTFORTASK, LASTDAYSENT, TASKNAME, EVENTNAME )
       select 
            PT.[ID],
            PT.[NAME],
            PT.[DESCRIPTION],
            PT.[CONTENTHTML],
            PT.[SUBJECT],
           PT.[CONTACTTYPE],
            0 AS [ADMINTEMPLATE],
            -1 AS EMAILTEMPLATEID,
            PT.DATEADDED,
             PT.[AVAILABLEASLETTER],
             -1 as [ISDEFAULTFORTASK],
        --     ISNULL( PT.LASTDAYSENT, '1/1/1900') AS LASTDAYSENT,

             PT.DATECHANGED AS LASTDAYSENT,
             FT.NAME as TASKNAME,
             E.NAME as EVENTNAME
         from 
            dbo.PARTICIPANTEMAILTEMPLATE PT
            JOIN FAFTASK FT ON PT.FAFTASKID = FT.ID
            JOIN EVENT E on E.ID = PT.EVENTID
            WHERE PT.CLIENTUSERSID in (select CLIENTUSERID from dbo.UFN_CLIENTUSERS_GETIDLISTBYCONSTITUENTID(@CONSTITUENTID))
              AND PT.EVENTID = @EVENTID
            AND PT.DELETED = 0
            AND PT.NAME = ISNULL(@NAME,PT.NAME)
            AND PT.FAFTASKID = @FAFTASKID
            AND PT.ID = ISNULL( @TEMPLATEID, PT.ID )
            AND 
            (   PT.ISLETTER = @ISLETTER  OR
                ( @ISLETTER = 1 AND AVAILABLEASLETTER = 1 )
            )


            SELECT TOP 1 ID, Name, Description, ContentHTML, Subject, ContactType, Admintemplate, EMAILTEMPLATEID, DateAdded,  AvailableAsLetter, TaskName, EventName, ISDEFAULTFORTASK
            FROM @ParticipantTemplates
            ORDER by LASTDAYSENT DESC, ISDEFAULTFORTASK DESC