USP_DATALIST_PARTICIPANTEMAILTEMPLATEWITHTASK
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@CLIENTUSERSID | int | IN | |
@EVENTID | uniqueidentifier | IN | |
@FAFTASKID | uniqueidentifier | IN | |
@SEARCHTEXT | nvarchar(255) | IN | |
@ISLETTER | bit | IN |
Definition
Copy
CREATE procedure dbo.USP_DATALIST_PARTICIPANTEMAILTEMPLATEWITHTASK
(
@CLIENTUSERSID int,
@EVENTID uniqueidentifier,
@FAFTASKID uniqueidentifier = null,
@SEARCHTEXT nvarchar(255) = null,
@ISLETTER bit = 0
)
as
set nocount on;
set @SEARCHTEXT = ISNULL(@SEARCHTEXT, '');
declare @INSERTSQL nvarchar(max);
declare @PARAMETERDEFINITION nvarchar(500);
set @PARAMETERDEFINITION = '@CLIENTUSERSIDPARAMETER int, @EVENTIDPARAMETER uniqueidentifier, @FAFTASKIDPARAMETER uniqueidentifier, @SEARCHTEXTPARAMETER nvarchar(255)'
CREATE TABLE #TEMPTEMPLATE
(
ID uniqueidentifier,
SUBJECT nvarchar(510),
CONTENTHTML nvarchar(max),
FAFTASKID uniqueidentifier,
FAFTASKNAME nvarchar(200),
LASTDAYSENT datetime,
ADMINTEMPLATE bit
)
set @INSERTSQL = 'insert into #TEMPTEMPLATE (ID, SUBJECT, CONTENTHTML, FAFTASKID, FAFTASKNAME, LASTDAYSENT, ADMINTEMPLATE) ';
set @INSERTSQL = @INSERTSQL + 'select ';
set @INSERTSQL = @INSERTSQL + 'PARTICIPANTEMAILTEMPLATE.ID, ';
set @INSERTSQL = @INSERTSQL + 'PARTICIPANTEMAILTEMPLATE.SUBJECT, ';
set @INSERTSQL = @INSERTSQL + 'PARTICIPANTEMAILTEMPLATE.CONTENTHTML, ';
set @INSERTSQL = @INSERTSQL + 'PARTICIPANTEMAILTEMPLATE.FAFTASKID, ';
set @INSERTSQL = @INSERTSQL + 'FAFTASK.NAME as FAFTASKNAME, ';
set @INSERTSQL = @INSERTSQL + 'PARTICIPANTEMAILTEMPLATE.DATECHANGED as LASTDAYSENT, ';
set @INSERTSQL = @INSERTSQL + '0 as ADMINTEMPLATE ';
set @INSERTSQL = @INSERTSQL + 'from dbo.PARTICIPANTEMAILTEMPLATE (nolock) ';
set @INSERTSQL = @INSERTSQL + 'inner join dbo.FAFTASK (nolock) on FAFTASK.ID = PARTICIPANTEMAILTEMPLATE.FAFTASKID ';
set @INSERTSQL = @INSERTSQL + 'where ';
set @INSERTSQL = @INSERTSQL + 'FAFTASK.HASTEMPLATE = 1 ';
set @INSERTSQL = @INSERTSQL + 'and PARTICIPANTEMAILTEMPLATE.CLIENTUSERSID in (select CLIENTUSERID from dbo.UFN_CLIENTUSERS_GETIDLISTBYCURRENTCLIENTUSERID(@CLIENTUSERSIDPARAMETER)) ';
set @INSERTSQL = @INSERTSQL + 'and PARTICIPANTEMAILTEMPLATE.EVENTID = @EVENTIDPARAMETER ';
set @INSERTSQL = @INSERTSQL + 'and (@FAFTASKIDPARAMETER is null or PARTICIPANTEMAILTEMPLATE.FAFTASKID = @FAFTASKIDPARAMETER) ';
if @SEARCHTEXT <> ''
set @INSERTSQL = @INSERTSQL + 'and (contains(PARTICIPANTEMAILTEMPLATE.SUBJECT, @SEARCHTEXTPARAMETER) or contains(PARTICIPANTEMAILTEMPLATE.CONTENTHTML, @SEARCHTEXTPARAMETER)) ';
if @ISLETTER = 0
begin
set @INSERTSQL = @INSERTSQL + 'and PARTICIPANTEMAILTEMPLATE.ISLETTER = 0 ';
end
else
begin
set @INSERTSQL = @INSERTSQL + 'and (PARTICIPANTEMAILTEMPLATE.ISLETTER = 1 or PARTICIPANTEMAILTEMPLATE.AVAILABLEASLETTER = 1) ';
end
set @INSERTSQL = @INSERTSQL + 'union all ';
set @INSERTSQL = @INSERTSQL + 'select ';
set @INSERTSQL = @INSERTSQL + 'EVENTEMAILTEMPLATE.ID, ';
set @INSERTSQL = @INSERTSQL + 'EMAILTEMPLATE.SUBJECT, ';
set @INSERTSQL = @INSERTSQL + 'EMAILTEMPLATE.CONTENTHTML, ';
set @INSERTSQL = @INSERTSQL + 'EVENTEMAILTEMPLATE.FAFTASKID, ';
set @INSERTSQL = @INSERTSQL + 'FAFTASK.NAME as FAFTASKNAME, ';
set @INSERTSQL = @INSERTSQL + 'null as LASTDAYSENT, ';
set @INSERTSQL = @INSERTSQL + '1 as ADMINTEMPLATE ';
set @INSERTSQL = @INSERTSQL + 'from dbo.EVENTEMAILTEMPLATE (nolock) ';
set @INSERTSQL = @INSERTSQL + 'inner join dbo.EMAILTEMPLATE (nolock) on EMAILTEMPLATE.ID = EVENTEMAILTEMPLATE.EMAILTEMPLATEID ';
set @INSERTSQL = @INSERTSQL + 'inner join dbo.FAFTASK (nolock) on FAFTASK.ID = EVENTEMAILTEMPLATE.FAFTASKID ';
set @INSERTSQL = @INSERTSQL + 'where ';
set @INSERTSQL = @INSERTSQL + 'FAFTASK.HASTEMPLATE = 1 ';
set @INSERTSQL = @INSERTSQL + 'and EVENTEMAILTEMPLATE.ISACTIVE = 1 ';
set @INSERTSQL = @INSERTSQL + 'and EVENTEMAILTEMPLATE.EVENTID = @EVENTIDPARAMETER ';
set @INSERTSQL = @INSERTSQL + 'and (@FAFTASKIDPARAMETER is null or EVENTEMAILTEMPLATE.FAFTASKID = @FAFTASKIDPARAMETER) ';
if @SEARCHTEXT <> ''
set @INSERTSQL = @INSERTSQL + 'and (contains(EMAILTEMPLATE.SUBJECT, @SEARCHTEXTPARAMETER) or contains(EMAILTEMPLATE.CONTENTHTML, @SEARCHTEXTPARAMETER)) ';
exec sp_executesql @INSERTSQL, @PARAMETERDEFINITION, @CLIENTUSERSIDPARAMETER = @CLIENTUSERSID, @EVENTIDPARAMETER = @EVENTID, @FAFTASKIDPARAMETER = @FAFTASKID, @SEARCHTEXTPARAMETER = @SEARCHTEXT;
select * from #TEMPTEMPLATE order by ADMINTEMPLATE asc, LASTDAYSENT desc, FAFTASKNAME asc, SUBJECT asc
drop table #TEMPTEMPLATE