USP_CONSTITUENTSOLICITCODE_ADD

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT
@SOLICITCODEID uniqueidentifier IN
@CONSTITUENTID uniqueidentifier IN
@STARTDATE datetime IN
@ENDDATE datetime IN
@COMMENTS nvarchar(100) IN
@CHANGEAGENTID uniqueidentifier IN
@CONSENTPREFERENCECODE tinyint IN
@SOURCEEVIDENCECODEID uniqueidentifier IN
@SOURCEFILE nvarchar(260) IN
@PRIVACYPOLICY nvarchar(260) IN
@SUPPORTINGINFORMATION nvarchar(max) IN
@CONSENTSTATEMENT nvarchar(max) IN

Definition

Copy


CREATE procedure dbo.USP_CONSTITUENTSOLICITCODE_ADD
(
  @ID uniqueidentifier = null output,
  @SOLICITCODEID uniqueidentifier = null,
  @CONSTITUENTID uniqueidentifier,
  @STARTDATE datetime =null,
  @ENDDATE datetime=null,
  @COMMENTS nvarchar(100) = '',
  @CHANGEAGENTID uniqueidentifier = null,
  @CONSENTPREFERENCECODE tinyint = 0,
  @SOURCEEVIDENCECODEID uniqueidentifier = null,
  @SOURCEFILE nvarchar(260) = '',
  @PRIVACYPOLICY nvarchar(260) = '',
  @SUPPORTINGINFORMATION nvarchar(max) = '',
  @CONSENTSTATEMENT nvarchar(max) = ''
)
as
set nocount on;

declare @CURRENTDATE datetime = getdate();

if @ID is null
  set @ID = newid();

if @CHANGEAGENTID is null  
  exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;

declare @SEQUENCE int;
select @SEQUENCE = coalesce(max(SEQUENCE),0) + 1
from dbo.CONSTITUENTSOLICITCODE
where CONSTITUENTID = @CONSTITUENTID;

-- Adjust date ranges for GDPR solicit codes

exec dbo.USP_CONSTITUENTSOLICITCODE_ADJUSTPREVIOUSDATERANGE @CONSTITUENTID, @SOLICITCODEID, @STARTDATE, @CHANGEAGENTID;

begin try
  insert into dbo.[CONSTITUENTSOLICITCODE]
  (
    [ID],
    [SOLICITCODEID],
    [CONSTITUENTID],
    [STARTDATE],
    [ENDDATE],
    [COMMENTS],
    [SEQUENCE],
    [CONSENTPREFERENCECODE],
    [SOURCECODEID],
    [SOURCEFILEPATH],
    [PRIVACYPOLICYFILEPATH],
    [SUPPORTINGINFORMATION],
    [CONSENTSTATEMENT],
    [ADDEDBYID],
    [CHANGEDBYID],
    [DATEADDED],
    [DATECHANGED]
  )
  values
  (
    @ID,
    @SOLICITCODEID,
    @CONSTITUENTID,
    @STARTDATE,
    @ENDDATE,
    @COMMENTS,
    @SEQUENCE,
    @CONSENTPREFERENCECODE,
    @SOURCEEVIDENCECODEID,
    @SOURCEFILE,
    @PRIVACYPOLICY,
    @SUPPORTINGINFORMATION,
    @CONSENTSTATEMENT,
    @CHANGEAGENTID,
    @CHANGEAGENTID,
    @CURRENTDATE,
    @CURRENTDATE
  );
end try
begin catch
  exec dbo.USP_RAISE_ERROR;
  return 1;
end catch

return 0;