USP_DATAFORMTEMPLATE_EDIT_ORGANIZATIONCONSTITUENT_GIFTDATAENTRY

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN
@CHANGEAGENTID uniqueidentifier IN
@ORGANIZATIONNAME nvarchar(100) IN
@INDUSTRYCODEID uniqueidentifier IN
@NUMEMPLOYEES int IN
@NUMSUBSIDIARIES int IN
@PARENTCORPID uniqueidentifier IN
@PICTURE varbinary IN
@PICTURETHUMBNAIL varbinary IN
@PICTURECHANGED bit IN
@WEBADDRESS UDT_WEBADDRESS IN
@ISPRIMARY bit IN
@PRIMARYADDRESSID uniqueidentifier 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
@PRIMARYEMAILADDRESSID uniqueidentifier IN
@PRIMARYPHONEID uniqueidentifier IN

Definition

Copy

create procedure dbo.USP_DATAFORMTEMPLATE_EDIT_ORGANIZATIONCONSTITUENT_GIFTDATAENTRY 
(
            @ID uniqueidentifier,            
                    @CHANGEAGENTID uniqueidentifier = null,
                    @ORGANIZATIONNAME nvarchar(100),
                    @INDUSTRYCODEID uniqueidentifier,
                    @NUMEMPLOYEES int,
                    @NUMSUBSIDIARIES int,
                    @PARENTCORPID uniqueidentifier,
                    @PICTURE varbinary(max),
                    @PICTURETHUMBNAIL varbinary(max),
                    @PICTURECHANGED bit,
                    @WEBADDRESS dbo.UDT_WEBADDRESS,
                    @ISPRIMARY bit,
          @PRIMARYADDRESSID uniqueidentifier,
          @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,
         @PRIMARYEMAILADDRESSID uniqueidentifier,
         @PRIMARYPHONEID 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 bellow, which is shared with other areas other then organization edit (duplicate search resolution screen)
     exec dbo.USP_ORGANIZATION_EDITSAVE @ID, @CHANGEAGENTID, @ORGANIZATIONNAME, @INDUSTRYCODEID, @NUMEMPLOYEES, @NUMSUBSIDIARIES, @PARENTCORPID
                                      @PICTURE, @PICTURETHUMBNAIL, @PICTURECHANGED, @WEBADDRESS, @ISPRIMARY;

     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;