USP_DATAFORMTEMPLATE_ADD_RESEARCHGROUP_FROMRE7IMPORT

The save procedure used by the add dataform template "RE7 Integration Research Group Import Add Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT The output parameter indicating the ID of the record added.
@RESEARCHGROUPID uniqueidentifier IN
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.
@NAME nvarchar(100) IN Name
@DESCRIPTION nvarchar(255) IN Description
@ISNEWRESEARCHGROUP bit IN Is new Research Group
@OTHERSCANMODIFY bit IN Others can modify
@RESEARCHGROUPMEMBERS xml IN Research Group members

Definition

Copy

                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_RESEARCHGROUP_FROMRE7IMPORT (
                        @ID uniqueidentifier = null output,
                        @RESEARCHGROUPID uniqueidentifier = null,
                        @CHANGEAGENTID uniqueidentifier = null,
                        @CURRENTAPPUSERID uniqueidentifier,
                        @NAME nvarchar(100),
                        @DESCRIPTION nvarchar(255) = null,
                        @ISNEWRESEARCHGROUP bit = 1,
                        @OTHERSCANMODIFY bit = 1,
                        @RESEARCHGROUPMEMBERS xml
                    ) with execute as owner as
                        set nocount on;

                        begin try

                        declare @CURRENTDATE datetime;
                        set @CURRENTDATE = getdate();

                        if @ISNEWRESEARCHGROUP = 1 and @RESEARCHGROUPID is null
                        begin
                            set @RESEARCHGROUPID = newid();

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

                            insert into dbo.RESEARCHGROUP (
                                ID,
                                NAME,
                                DESCRIPTION,
                                OWNERID,
                                OTHERSCANMODIFY,
                                ADDEDBYID,
                                CHANGEDBYID,
                                DATEADDED,
                                DATECHANGED
                            )
                            values (
                                @RESEARCHGROUPID,
                                @NAME,
                                @DESCRIPTION,
                                @CURRENTAPPUSERID,
                                @OTHERSCANMODIFY,
                                @CHANGEAGENTID,
                                @CHANGEAGENTID,
                                @CURRENTDATE,
                                @CURRENTDATE
                            );    
                        end    

                        set @RESEARCHGROUPMEMBERS = 
                        (    
                            select
                                NEWMEMBERS.CONSTITUENTID,
                                NEWMEMBERS.ID
                            from
                                UFN_RESEARCHGROUP_GETMEMBERS_FROMITEMLISTXML(@RESEARCHGROUPMEMBERS) as NEWMEMBERS
                            inner join dbo.CONSTITUENT on
                                NEWMEMBERS.CONSTITUENTID = CONSTITUENT.ID
                            left join RESEARCHGROUPMEMBER as EXISTINGMEMBERS on
                                NEWMEMBERS.CONSTITUENTID = EXISTINGMEMBERS.CONSTITUENTID
                and EXISTINGMEMBERS.RESEARCHGROUPID = @RESEARCHGROUPID
                            where
                                EXISTINGMEMBERS.ID is null                        
                            for
                                XML RAW('ITEM'),type,elements,root('RESEARCHGROUPMEMBERS'),BINARY BASE64
                        )

                        set @ID = @RESEARCHGROUPID;

                        --Add members from the selection
                            exec dbo.USP_RESEARCHGROUP_GETMEMBERS_ADDFROMXML @ID, @RESEARCHGROUPMEMBERS, @CHANGEAGENTID;
                            exec dbo.USP_RESEARCHGROUP_RECALCULATENUMMEMBERS @ID, @CHANGEAGENTID;
                        end try

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

                        return 0;