USP_FAFEVENTBATCH_LOCATIONCONTACT_ADD

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT
@FIRSTNAME varchar(50) IN
@LASTNAME varchar(100) IN
@EMAILADDRESS UDT_EMAILADDRESS IN
@CHANGEAGENTID uniqueidentifier IN
@CURRENTAPPUSERID uniqueidentifier IN

Definition

Copy


CREATE procedure dbo.USP_FAFEVENTBATCH_LOCATIONCONTACT_ADD
(
  @ID uniqueidentifier = null output,
  @FIRSTNAME varchar(50) = null,
  @LASTNAME varchar(100) = '',
  @EMAILADDRESS UDT_EMAILADDRESS = '',
  @CHANGEAGENTID uniqueidentifier = null,
  @CURRENTAPPUSERID uniqueidentifier
)
as
  set nocount on;

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

  begin try

    if @ID is null
    begin
      set @ID = newid()
      if @LASTNAME = '' or @EMAILADDRESS = ''
        raiserror('LastNameAndEmailAddresIsRequired', 13, 1)
    end

    if not exists (select 1 from dbo.Constituent where ID = @ID and ISORGANIZATION=0 and ISGROUP=0 and ISCONSTITUENT=1 and ISINACTIVE = 0)
    begin

      set @ID = null

      if @LASTNAME = '' or @EMAILADDRESS = ''
        raiserror('EventLocationContactIsNotExists', 13, 1)
      else
      begin

        select top 1 @ID = ID from dbo.Constituent where KEYNAME = @LASTNAME and (FIRSTNAME = @FIRSTNAME or @FIRSTNAME = '')

        if @ID is null
          exec dbo.USP_DATAFORMTEMPLATE_ADD_INDIVIDUALSPOUSEBUSINESS
            @ID = @ID output,
            @LASTNAME = @LASTNAME,
            @FIRSTNAME = @FIRSTNAME,
            @EMAILADDRESS_EMAILADDRESS = @EMAILADDRESS,
            @CURRENTAPPUSERID = @CURRENTAPPUSERID

      end
    end
  end try
  begin catch
    exec dbo.USP_RAISE_ERROR
    return 1
  end catch
  return 0;