USP_DATAFORMTEMPLATE_EDIT_INDIVIDUALCONSTITUENT_GIFTDATAENTRY

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN
@CHANGEAGENTID uniqueidentifier IN
@LASTNAME nvarchar(100) IN
@FIRSTNAME nvarchar(50) IN
@MIDDLENAME nvarchar(50) IN
@TITLECODEID uniqueidentifier IN
@SUFFIXCODEID uniqueidentifier IN
@NICKNAME nvarchar(50) IN
@MAIDENNAME nvarchar(100) IN
@MARITALSTATUSCODEID uniqueidentifier IN
@BIRTHDATE UDT_FUZZYDATE IN
@GENDERCODE tinyint IN
@ADDRESS_ADDRESSTYPECODEID uniqueidentifier IN
@ADDRESS_COUNTRYID uniqueidentifier IN
@ADDRESS_ADDRESSBLOCK nvarchar(max) IN
@ADDRESS_CITY nvarchar(50) IN
@ADDRESS_STATEID uniqueidentifier IN
@ADDRESS_POSTCODE nvarchar(12) IN
@ADDRESS_DONOTMAIL bit IN
@ADDRESS_DONOTMAILREASONCODEID uniqueidentifier IN
@PHONE_PHONETYPECODEID uniqueidentifier IN
@PHONE_NUMBER nvarchar(100) IN
@EMAILADDRESS_EMAILADDRESSTYPECODEID uniqueidentifier IN
@EMAILADDRESS_EMAILADDRESS UDT_EMAILADDRESS IN
@PRIMARYADDRESSID uniqueidentifier IN
@PRIMARYPHONEID uniqueidentifier IN
@PRIMARYEMAILADDRESSID uniqueidentifier IN
@GIVESANONYMOUSLY bit IN
@PICTURE varbinary IN
@PICTURETHUMBNAIL varbinary IN
@PICTURECHANGED bit IN
@WEBADDRESS UDT_WEBADDRESS IN
@TITLE2CODEID uniqueidentifier IN
@SUFFIX2CODEID uniqueidentifier IN

Definition

Copy

CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_INDIVIDUALCONSTITUENT_GIFTDATAENTRY (
    @ID uniqueidentifier,
    @CHANGEAGENTID uniqueidentifier = null,
    @LASTNAME nvarchar(100),
    @FIRSTNAME nvarchar(50),
    @MIDDLENAME nvarchar(50),
    @TITLECODEID uniqueidentifier,
    @SUFFIXCODEID uniqueidentifier,
    @NICKNAME nvarchar(50),
    @MAIDENNAME nvarchar(100),
    @MARITALSTATUSCODEID uniqueidentifier,
    @BIRTHDATE dbo.UDT_FUZZYDATE,  
    @GENDERCODE tinyint,
    @ADDRESS_ADDRESSTYPECODEID uniqueidentifier,
    @ADDRESS_COUNTRYID uniqueidentifier,
    @ADDRESS_ADDRESSBLOCK nvarchar(max),
    @ADDRESS_CITY nvarchar(50),
    @ADDRESS_STATEID uniqueidentifier,
    @ADDRESS_POSTCODE nvarchar(12),
    @ADDRESS_DONOTMAIL bit,
    @ADDRESS_DONOTMAILREASONCODEID uniqueidentifier,
    @PHONE_PHONETYPECODEID uniqueidentifier,  
    @PHONE_NUMBER nvarchar(100),
    @EMAILADDRESS_EMAILADDRESSTYPECODEID uniqueidentifier,
    @EMAILADDRESS_EMAILADDRESS dbo.UDT_EMAILADDRESS,
  @PRIMARYADDRESSID uniqueidentifier,
  @PRIMARYPHONEID uniqueidentifier,
  @PRIMARYEMAILADDRESSID uniqueidentifier,
  @GIVESANONYMOUSLY bit,
  @PICTURE varbinary(max),
    @PICTURETHUMBNAIL varbinary(max),
    @PICTURECHANGED bit,
    @WEBADDRESS dbo.UDT_WEBADDRESS,
    @TITLE2CODEID uniqueidentifier,
    @SUFFIX2CODEID uniqueidentifier
)
as

    set nocount on;

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

    declare @CURRENTDATE datetime
    set @CURRENTDATE = getdate()

    if @ADDRESS_DONOTMAIL = 0 
        set @ADDRESS_DONOTMAILREASONCODEID = null

    begin try
      -- moved original code in the USP below, which is shared with other areas other then individual edit (duplicate search resolution screen)
          exec dbo.USP_INDIVIDUAL_EDITSAVE @ID, @CHANGEAGENTID, @LASTNAME, @FIRSTNAME, @MIDDLENAME, @MAIDENNAME, @NICKNAME, @TITLECODEID, @SUFFIXCODEID,
                                       @GENDERCODE, @BIRTHDATE, @GIVESANONYMOUSLY, @PICTURE, @PICTURETHUMBNAIL, @PICTURECHANGED, @WEBADDRESS,
                                       @MARITALSTATUSCODEID, @TITLE2CODEID, @SUFFIX2CODEID;

    if @PRIMARYADDRESSID is not null
      begin
        update dbo.[ADDRESS]
        SET
          [ADDRESSTYPECODEID] = @ADDRESS_ADDRESSTYPECODEID,
                  [DONOTMAIL] = @ADDRESS_DONOTMAIL,
                  [COUNTRYID] = @ADDRESS_COUNTRYID,
                  [STATEID] = @ADDRESS_STATEID,
                  [ADDRESSBLOCK] = @ADDRESS_ADDRESSBLOCK,
                  [CITY] = @ADDRESS_CITY,
                  [POSTCODE] = @ADDRESS_POSTCODE,
                  [CHANGEDBYID] = @CHANGEAGENTID,
                  [DATECHANGED] = @CURRENTDATE,
                  [DONOTMAILREASONCODEID] = @ADDRESS_DONOTMAILREASONCODEID
        where
          ID=@PRIMARYADDRESSID

        if not exists (select ID from dbo.ADDRESSVALIDATIONUPDATE where ID = @PRIMARYADDRESSID)  
          insert into dbo.ADDRESSVALIDATIONUPDATE  
          (ID, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)  
          values  
          (@PRIMARYADDRESSID, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE);  
      end
    else
      if
        (@ADDRESS_STATEID is not null
              or (coalesce(@ADDRESS_ADDRESSBLOCK,'') <> ''
              or (coalesce(@ADDRESS_CITY,'') <> ''
              or (coalesce(@ADDRESS_POSTCODE,'') <> ''
              or (@ADDRESS_ADDRESSTYPECODEID is not null
              or (@ADDRESS_COUNTRYID is not null)
              or (@ADDRESS_DONOTMAIL = 1)
              or (@ADDRESS_DONOTMAILREASONCODEID is not null)
        )
      begin
        --insert
                declare @ADDRESSID uniqueidentifier;
                set @ADDRESSID = newID();

                insert into dbo.[ADDRESS]
                (
                    [ID],
                    [CONSTITUENTID],
                    [ADDRESSTYPECODEID],
                    [ISPRIMARY],
                    [DONOTMAIL],
                    [COUNTRYID],
                    [STATEID],
                    [ADDRESSBLOCK],
                    [CITY],
                    [POSTCODE],                                
                    [ADDEDBYID],
                    [CHANGEDBYID],
                    [DATEADDED],
                    [DATECHANGED],
                    [DONOTMAILREASONCODEID]
                )
                values
                (
                    @ADDRESSID,
                    @ID,
                    @ADDRESS_ADDRESSTYPECODEID,
                    1,
                    @ADDRESS_DONOTMAIL,
                    @ADDRESS_COUNTRYID,
                    @ADDRESS_STATEID,
                    @ADDRESS_ADDRESSBLOCK,
                    @ADDRESS_CITY,
                    @ADDRESS_POSTCODE,
                    @CHANGEAGENTID,
                    @CHANGEAGENTID,
                    @CURRENTDATE,
                    @CURRENTDATE,
                    @ADDRESS_DONOTMAILREASONCODEID
                );

        insert into dbo.ADDRESSVALIDATIONUPDATE  
        (ID, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)  
        values  
        (@ADDRESSID, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE);        
      end

        /*Start Primary Phone */
    if @PRIMARYPHONEID is not null
      begin
        update dbo.[PHONE]
        SET
          [PHONETYPECODEID] = @PHONE_PHONETYPECODEID,
                  [NUMBER] = @PHONE_NUMBER
        where
          ID=@PRIMARYPHONEID
      end
    else
          if (@PHONE_PHONETYPECODEID is not null) or (coalesce(@PHONE_NUMBER,'') <> '')
            begin
                insert into dbo.[PHONE]
                (
                    [CONSTITUENTID],
                    [PHONETYPECODEID],
                    [NUMBER],
                    [ISPRIMARY],
                    [ORIGINCODE],
                    [ADDEDBYID],
                    [CHANGEDBYID],
                    [DATEADDED],
                    [DATECHANGED],
                    [COUNTRYID]
                )
                values
                (
                    @ID,
                    @PHONE_PHONETYPECODEID,
                    @PHONE_NUMBER,
                    1,
                    0,
                    @CHANGEAGENTID,
                    @CHANGEAGENTID,
                    @CURRENTDATE,
                    @CURRENTDATE,
                    @ADDRESS_COUNTRYID
                );
            end

        /*Start Primary Email Address */
    if @PRIMARYEMAILADDRESSID is not null
      begin
        update dbo.[EMAILADDRESS]
        SET
          [EMAILADDRESSTYPECODEID] = @EMAILADDRESS_EMAILADDRESSTYPECODEID,
                  [EMAILADDRESS] = @EMAILADDRESS_EMAILADDRESS
        where
          ID=@PRIMARYEMAILADDRESSID
      end
    else    
          if (@EMAILADDRESS_EMAILADDRESSTYPECODEID is not null) or (coalesce(@EMAILADDRESS_EMAILADDRESS,'') <> '')
              begin
                  insert into dbo.[EMAILADDRESS]
                  (
                      [CONSTITUENTID],
                      [EMAILADDRESSTYPECODEID],
                      [EMAILADDRESS],
                      [ISPRIMARY],
                      [ORIGINCODE],
                      [ADDEDBYID],
                      [CHANGEDBYID],
                      [DATEADDED],
                      [DATECHANGED]
                  )
                  values
                  (
                      @ID,
                      @EMAILADDRESS_EMAILADDRESSTYPECODEID,
                      @EMAILADDRESS_EMAILADDRESS,
                      1,
                      0,
                      @CHANGEAGENTID,
                      @CHANGEAGENTID,
                      @CURRENTDATE,
                      @CURRENTDATE
                  );
              end

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

return 0;