USP_DATAFORMTEMPLATE_VIEW_AUCTIONITEMBATCHCONSTITUENTPRIMARYCONTACTINFO

The load procedure used by the view dataform template "Auction Item Batch Constituent Primary Contact Information View Form"

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN The input ID parameter used to load the fields defined on the form.
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.
@DATALOADED bit INOUT Output parameter indicating whether or not data was actually loaded.
@ADDRESSTYPELABEL nvarchar(100) INOUT ADDRESSTYPELABEL
@ADDRESSTYPEID uniqueidentifier INOUT ADDRESSTYPEID
@ADDRESS nvarchar(150) INOUT ADDRESS
@CITY nvarchar(50) INOUT CITY
@STATEID uniqueidentifier INOUT STATEID
@POSTCODE nvarchar(12) INOUT POSTCODE
@COUNTRYID uniqueidentifier INOUT COUNTRYID
@PHONETYPELABEL nvarchar(100) INOUT PHONETYPELABEL
@PHONETYPEID uniqueidentifier INOUT PHONETYPEID
@PHONE nvarchar(100) INOUT PHONE
@EMAILTYPELABEL nvarchar(100) INOUT EMAILTYPELABEL
@EMAILTYPEID uniqueidentifier INOUT EMAILTYPEID
@EMAIL UDT_EMAILADDRESS INOUT EMAIL
@WEBADDRESS UDT_WEBADDRESS INOUT WEBADDRESS
@DONOTMAIL bit INOUT DONOTMAIL
@DONOTMAILREASONCODEID uniqueidentifier INOUT DONOTMAILREASONCODEID
@DONOTCALL bit INOUT DONOTCALL
@DONOTEMAIL bit INOUT DONOTEMAIL

Definition

Copy


                CREATE procedure dbo.USP_DATAFORMTEMPLATE_VIEW_AUCTIONITEMBATCHCONSTITUENTPRIMARYCONTACTINFO
                (
                    @ID uniqueidentifier,
                    @CURRENTAPPUSERID uniqueidentifier,
                    @DATALOADED bit = 0 output,
                    @ADDRESSTYPELABEL nvarchar(100) = null output,
                    @ADDRESSTYPEID uniqueidentifier = null output,
                    @ADDRESS nvarchar(150) = null output,
                    @CITY nvarchar(50) = null output,
                    @STATEID uniqueidentifier = null output,
                    @POSTCODE nvarchar(12) = null output,
                    @COUNTRYID uniqueidentifier = null output,
                    @PHONETYPELABEL nvarchar(100) = null output,
                    @PHONETYPEID uniqueidentifier = null output,
                    @PHONE nvarchar(100) = null output,
                    @EMAILTYPELABEL nvarchar(100) = null output,
                    @EMAILTYPEID uniqueidentifier = null output,
                    @EMAIL dbo.UDT_EMAILADDRESS = null output,
                    @WEBADDRESS dbo.UDT_WEBADDRESS = null output,
                    @DONOTMAIL bit = null output,
                    @DONOTMAILREASONCODEID uniqueidentifier = null output,
                    @DONOTCALL bit = null output,
                    @DONOTEMAIL bit = null output
                )
                as
                    set nocount on;

                    set @DATALOADED = 1;

                    -- Check if the ID corresponds to a BATCHAUCTIONITEMCONSTITUENT record but that record 

                    -- references an existing constituent.  If that's the case, set @ID to the CONSTITUENT

                    -- table ID.

                    select
                        @ID = EXISTINGCONSTITUENTID
                    from dbo.BATCHAUCTIONITEMCONSTITUENT
                    where
                        ID = @ID and
                        EXISTINGCONSTITUENTID is not null

                    -- Determine if the constituent is in the CONSTITUENT table or BATCHAUCTIONITEMCONSTITUENT table

                    if exists (select ID from dbo.CONSTITUENT where ID = @ID)
                    begin
                        -- Check security for this constituent.  Using UFN_SECURITY_APPUSER_GRANTED_CONSTITID_FORREPORT

                        -- since this form's security is implied through other forms.

                        declare @ISADMIN bit;
                        declare @APPUSER_IN_NONRACROLE bit;
                        declare @APPUSER_IN_NOSECGROUPROLE bit;

                        set @ISADMIN = dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID);

                        if @ISADMIN = 0
                            set @APPUSER_IN_NONRACROLE = dbo.UFN_SECURITY_APPUSER_IN_NONRACROLE(@CURRENTAPPUSERID);

                        if @ISADMIN = 0 and @APPUSER_IN_NONRACROLE = 0
                            set @APPUSER_IN_NOSECGROUPROLE = dbo.UFN_SECURITY_APPUSER_IN_NO_SECURITY_GROUP_ROLE(@CURRENTAPPUSERID);

                        if @ISADMIN = 0 and 
                            @APPUSER_IN_NONRACROLE = 0 and
                            dbo.UFN_SECURITY_APPUSER_GRANTED_CONSTITID_FORREPORT(@CURRENTAPPUSERID, @ID, @APPUSER_IN_NOSECGROUPROLE) = 0
                            raiserror('BBERR_DB_RECORDSECURITY_PERMISSION_DENIED', 13, 1)

                        select                        
                            @ADDRESSTYPELABEL = ADDRESSTYPECODE.DESCRIPTION,
                            @ADDRESSTYPEID = ADDRESS.ADDRESSTYPECODEID,
                            @ADDRESS = ADDRESS.ADDRESSBLOCK,
                            @CITY = ADDRESS.CITY,
                            @STATEID = ADDRESS.STATEID,
                            @POSTCODE = ADDRESS.POSTCODE,
                            @COUNTRYID = ADDRESS.COUNTRYID,
                            @DONOTMAIL = ADDRESS.DONOTMAIL,
                            @DONOTMAILREASONCODEID = ADDRESS.DONOTMAILREASONCODEID
                        from
                            dbo.ADDRESS
                            left join dbo.ADDRESSTYPECODE 
                            on ADDRESS.ADDRESSTYPECODEID = ADDRESSTYPECODE.ID
                        where
                            ADDRESS.CONSTITUENTID = @ID
                            and ADDRESS.ISPRIMARY = 1;

                        select
                            @PHONETYPELABEL = PHONETYPECODE.DESCRIPTION,
                            @PHONETYPEID = PHONE.PHONETYPECODEID,
                            @PHONE = PHONE.NUMBER,
                            @DONOTCALL = PHONE.DONOTCALL
                        from
                            dbo.PHONE
                            left join dbo.PHONETYPECODE
                            on PHONE.PHONETYPECODEID = PHONETYPECODE.ID
                        where
                            PHONE.CONSTITUENTID = @ID
                            and PHONE.ISPRIMARY = 1;

                        select
                            @EMAILTYPELABEL = EMAILADDRESSTYPECODE.DESCRIPTION,
                            @EMAILTYPEID = EMAILADDRESS.EMAILADDRESSTYPECODEID,
                            @EMAIL = EMAILADDRESS.EMAILADDRESS,
                            @DONOTEMAIL = EMAILADDRESS.DONOTEMAIL
                        from
                            dbo.EMAILADDRESS
                            left join dbo.EMAILADDRESSTYPECODE
                            on EMAILADDRESS.EMAILADDRESSTYPECODEID = EMAILADDRESSTYPECODE.ID
                        where
                            EMAILADDRESS.CONSTITUENTID = @ID
                            and EMAILADDRESS.ISPRIMARY = 1;

                        select
                            @WEBADDRESS = CONSTITUENT.WEBADDRESS
                        from
                            dbo.CONSTITUENT
                        where
                            CONSTITUENT.ID = @ID;                    
                    end
                    else
                    begin
                        select
                            @ADDRESSTYPELABEL = ATC.DESCRIPTION,
                            @ADDRESSTYPEID = C.ADDRESSTYPECODEID,
                            @ADDRESS = C.ADDRESSBLOCK,
                            @CITY = C.CITY,
                            @STATEID = C.STATEID,
                            @POSTCODE = C.POSTCODE,
                            @COUNTRYID = C.COUNTRYID,
                            @PHONETYPELABEL = PTC.DESCRIPTION,
                            @PHONETYPEID = C.PHONETYPECODEID,
                            @PHONE = C.NUMBER,
                            @EMAILTYPELABEL = ETC.DESCRIPTION,
                            @EMAILTYPEID = C.EMAILADDRESSTYPECODEID,
                            @EMAIL = C.EMAILADDRESS,
                            @WEBADDRESS = C.WEBADDRESS,
                            @DONOTMAIL = C.DONOTMAIL,
                            @DONOTMAILREASONCODEID = C.DONOTMAILREASONCODEID,
                            @DONOTCALL = C.DONOTCALL,
                            @DONOTEMAIL = C.DONOTEMAIL
                        from dbo.BATCHAUCTIONITEMCONSTITUENT C
                        left join ADDRESSTYPECODE ATC on C.ADDRESSTYPECODEID = ATC.ID
                        left join PHONETYPECODE PTC on C.PHONETYPECODEID = PTC.ID
                        left join EMAILADDRESSTYPECODE ETC on C.EMAILADDRESSTYPECODEID = ETC.ID
                        where
                            C.ID = @ID
                    end