USP_ORGANIZATION_EDITSAVE

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

Definition

Copy


create procedure dbo.USP_ORGANIZATION_EDITSAVE (
            @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
      ) 
      as
            set nocount on;

            declare @KEYNAME nvarchar(100);
            declare @KEYNAMEPREFIX nvarchar(50);

            declare @CURRENTDATE datetime;

            exec dbo.USP_PARSE_ORGANIZATION_NAME @ORGANIZATIONNAME, @KEYNAME output, @KEYNAMEPREFIX output;

            if @NUMEMPLOYEES is null
                set @NUMEMPLOYEES = 0;

            if @NUMSUBSIDIARIES is null
                set @NUMSUBSIDIARIES = 0;

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

            set @CURRENTDATE = getdate();

            begin try
                if @PICTURECHANGED = 1
                    update CONSTITUENT set
                        KEYNAME = @KEYNAME,      
                        KEYNAMEPREFIX = @KEYNAMEPREFIX,
                        CHANGEDBYID = @CHANGEAGENTID,
                        DATECHANGED = @CURRENTDATE,
                        PICTURE = @PICTURE,
                        PICTURETHUMBNAIL = @PICTURETHUMBNAIL,
                        WEBADDRESS = @WEBADDRESS
                    from 
                        dbo.CONSTITUENT 
                    where 
                        CONSTITUENT.ID = @ID;
                else
                    update CONSTITUENT set
                        KEYNAME = @KEYNAME,      
                        KEYNAMEPREFIX = @KEYNAMEPREFIX,
                        WEBADDRESS = @WEBADDRESS,
                        CHANGEDBYID = @CHANGEAGENTID,
                        DATECHANGED = @CURRENTDATE
                    from 
                        dbo.CONSTITUENT 
                    where 
                        CONSTITUENT.ID = @ID;

                update dbo.ORGANIZATIONDATA SET 
                    ORGANIZATIONDATA.INDUSTRYCODEID = @INDUSTRYCODEID,
                    ORGANIZATIONDATA.NUMEMPLOYEES = @NUMEMPLOYEES,
                    ORGANIZATIONDATA.NUMSUBSIDIARIES = @NUMSUBSIDIARIES,
                    ORGANIZATIONDATA.PARENTCORPID = @PARENTCORPID,
                    ORGANIZATIONDATA.CHANGEDBYID = @CHANGEAGENTID,
                    ORGANIZATIONDATA.DATECHANGED = @CURRENTDATE,
                    ORGANIZATIONDATA.ISPRIMARY = @ISPRIMARY
                from 
                        dbo.ORGANIZATIONDATA 
                    where 
                        ORGANIZATIONDATA.ID = @ID ;

                if @@rowcount = 0 
                    insert into dbo.[ORGANIZATIONDATA]
                    (
                        [ID], 
                        [INDUSTRYCODEID], 
                        [NUMEMPLOYEES], 
                        [NUMSUBSIDIARIES], 
                        [PARENTCORPID], 
                        [ADDEDBYID], 
                        [CHANGEDBYID],
                        [DATEADDED],
                        [DATECHANGED],
                        [ISPRIMARY]
                    ) values (
                        @ID
                        @INDUSTRYCODEID
                        @NUMEMPLOYEES
                        @NUMSUBSIDIARIES
                        @PARENTCORPID
                        @CHANGEAGENTID
                        @CHANGEAGENTID,
                        @CURRENTDATE,
                        @CURRENTDATE,
                        @ISPRIMARY
                    );

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

            return 0;