spEmailList_Subscriptions

Parameters

Parameter Parameter Type Mode Description
@UserID int IN
@BackOfficePeopleID int IN
@EmailAddress nvarchar(255) IN
@ClientSitesID int IN

Definition

Copy

CREATE    PROCEDURE [dbo].[spEmailList_Subscriptions]( 
      @UserID int
      @BackOfficePeopleID int,
      @EmailAddress nvarchar(255),
      @ClientSitesID int = NULL
)
AS

if @BackOfficePeopleID > 0 
begin

      select 
            l.ID EmailListID,
            l.[Name],
            l.[Description],
            s.UserID,
            s.BackOfficeSystemPeopleID,
            COALESCE(s.HasOpted, 0) [Subscribed],
            Type,
            s.id SubscriberID,
            s.FirstName,
            s.LastName,
            COALESCE(s.HasOpted, 1) [SubscribedChapter]
      from [dbo].EmailList l
            LEFT OUTER JOIN [dbo].EmailList_Subscription s 
            ON l.[ID] = s.EmailListID and s.BackOfficeSystemPeopleID =@BackOfficePeopleID
--                (select BackOfficePeopleID from vwBackofficeLinkedUsers where userID=dbo.fnGetUserIDFromLinkedPeopleID(@BackOfficePeopleID))
      WHERE Subscription = 1 
            AND l.Deleted = 0
            AND (@ClientSitesID is null 
                OR @ClientSitesID = l.ClientSitesID)


end
else
begin

      if @userID > 0 
      begin

            select 
                  l.ID EmailListID,
                  l.[Name],
                  l.[Description],
                  s.UserID,
                  s.BackOfficeSystemPeopleID,
                  COALESCE(s.HasOpted, 0) [Subscribed],
                  Type,
                  s.id SubscriberID,
                  s.FirstName,
                  s.LastName,
                  COALESCE(s.HasOpted, 1) [SubscribedChapter]
            from [dbo].EmailList l
                  LEFT OUTER JOIN [dbo].EmailList_Subscription s ON l.[ID] = s.EmailListID and s.UserID = @UserID
            WHERE Subscription = 1 
                  AND l.Deleted = 0
                  AND (@ClientSitesID is null 
                    OR @ClientSitesID = l.ClientSitesID)

      end
      else
      begin
            select 
                  l.ID EmailListID,
                  l.[Name],
                  l.[Description],
                  s.UserID,
                  s.BackOfficeSystemPeopleID,
                  COALESCE(s.HasOpted, 0) [Subscribed],
                  Type,
                  s.id SubscriberID,
                  s.FirstName,
                  s.LastName,
                  COALESCE(s.HasOpted, 1) [SubscribedChapter]
            from [dbo].EmailList l
                  LEFT OUTER JOIN [dbo].EmailList_Subscription s ON l.[ID] = s.EmailListID and s.EmailAddress = @EmailAddress
            WHERE Subscription = 1 
                  AND l.Deleted = 0
                  AND (@ClientSitesID is null
                    OR @ClientSitesID = l.ClientSitesID)

      end
end