USP_DATAFORMTEMPLATE_VIEW_COMMITTEEPROFILE

The load procedure used by the view dataform template "Committee Profile 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.
@PICTURE varbinary INOUT PICTURE
@CANCOORDINATEEVENTS bit INOUT Can coordinate events
@CANSOLICITREVENUE bit INOUT Can solicit revenue
@GROUPGOALS xml INOUT GROUPGOALS
@GROUPEVENTID uniqueidentifier INOUT GROUPEVENTID
@GROUPEVENTNAME nvarchar(100) INOUT Event
@TOTALRAISED money INOUT Total raised
@GROUPTYPE nvarchar(300) INOUT Group type
@GROUPMEMBERCOUNT int INOUT No. of members
@CAMPAIGNID uniqueidentifier INOUT CAMPAIGNID
@CAMPAIGNNAME nvarchar(100) INOUT Campaign
@CAMPAIGNPOSITIONID_TRANSLATION nvarchar(100) INOUT Position
@CAMPAIGNTASKID_TRANSLATION nvarchar(100) INOUT Task
@BASECURRENCYID uniqueidentifier INOUT BASECURRENCYID

Definition

Copy


            CREATE  procedure [dbo].[USP_DATAFORMTEMPLATE_VIEW_COMMITTEEPROFILE]

                @ID uniqueidentifier,
                @CURRENTAPPUSERID uniqueidentifier=null,
                @DATALOADED bit = 0 output,
                @PICTURE varbinary(max) = null output,
                @CANCOORDINATEEVENTS bit = null output,
                @CANSOLICITREVENUE bit = null output,
                @GROUPGOALS xml = null output,
                @GROUPEVENTID uniqueidentifier = null output,
                @GROUPEVENTNAME nvarchar(100) = null output,
                @TOTALRAISED money = null output,
                @GROUPTYPE nvarchar(300) = null output,
                @GROUPMEMBERCOUNT integer = null output,
                @CAMPAIGNID uniqueidentifier = null output,
                @CAMPAIGNNAME nvarchar(100) = null output,
                @CAMPAIGNPOSITIONID_TRANSLATION nvarchar(100) = null output,
                @CAMPAIGNTASKID_TRANSLATION nvarchar(100) = null output,
                @BASECURRENCYID uniqueidentifier = null output

     as
                set nocount on;

                declare @CURRENTDATE datetime;
                set @CURRENTDATE = dbo.UFN_DATE_GETEARLIESTTIME(getdate());

                set @DATALOADED = 0;

                select
                    @DATALOADED = 1,
                    @PICTURE = CONSTITUENT.PICTURETHUMBNAIL
                from
                    dbo.CONSTITUENT
                where
                    CONSTITUENT.ID = @ID;

                --CONSTIT FIELDS

                select
                    @CANCOORDINATEEVENTS = CANCOORDINATEEVENTS,
                    @CANSOLICITREVENUE = CANSOLICITREVENUE
                from
                    dbo.COMMITTEE
                where
                    COMMITTEE.ID = @ID;

                select top 1
                    @GROUPEVENTID = EVENT.ID,
                    @GROUPEVENTNAME = EVENT.NAME
                from dbo.EVENTCOORDINATOR
                inner join dbo.EVENT
                    on EVENT.ID = EVENTCOORDINATOR.EVENTID
                where CONSTITUENTID = @ID
                order by EVENT.ISACTIVE desc,
                        case when EVENT.ENDDATE >= @CURRENTDATE then 0 else 1 end asc,
                        EVENT.STARTDATE asc,
                        EVENT.NAME asc;

                set @GROUPGOALS = (select top 2
                        ID, 
                        ISFUNDRAISINGGOAL, 
                        GROUPGOALUNITCODEID, 
                        AMOUNT, 
                        NAME, 
                        GOALDATE,
                        BASECURRENCYID
                    from dbo.UFN_GROUPGOAL_DATALIST(@ID,null)
                    order by 
                        DATESORT desc,
                        Case DATESORT When 1 Then GOALDATE When 0 Then null Else GetDate() - GOALDATE End asc
                    for xml raw('ITEM'),type,elements,root('GROUPGOALS'),BINARY BASE64);

                select top 1
                    @CAMPAIGNID = CAMPAIGN.ID,
                    @CAMPAIGNNAME = CAMPAIGN.NAME,
                    @CAMPAIGNPOSITIONID_TRANSLATION = CAMPAIGNFUNDRAISERPOSITIONCODE.DESCRIPTION,
                    @CAMPAIGNTASKID_TRANSLATION = CAMPAIGNFUNDRAISERTASKCODE.DESCRIPTION
                from dbo.CAMPAIGNFUNDRAISER
                inner join dbo.CAMPAIGN
                    on CAMPAIGNFUNDRAISER.CAMPAIGNID = CAMPAIGN.ID
                left join CAMPAIGNFUNDRAISERPOSITIONCODE
                    on CAMPAIGNFUNDRAISER.CAMPAIGNFUNDRAISERPOSITIONCODEID = CAMPAIGNFUNDRAISERPOSITIONCODE.ID
                left join CAMPAIGNFUNDRAISERTASKCODE
                    on CAMPAIGNFUNDRAISER.CAMPAIGNFUNDRAISERTASKCODEID = CAMPAIGNFUNDRAISERTASKCODE.ID
                where 
                    CAMPAIGNFUNDRAISER.CONSTITUENTID = @ID
                order by 
                    case when CAMPAIGNFUNDRAISER.DATETO >= @CURRENTDATE then 0 else 1 end asc,
                    CAMPAIGNFUNDRAISER.DATEFROM asc,
                    CAMPAIGN.NAME asc;

                set @BASECURRENCYID = dbo.UFN_APPUSER_GETBASECURRENCY(@CURRENTAPPUSERID);
                set @TOTALRAISED = dbo.UFN_REVENUESOLICITOR_GETSUM_INCURRENCY(@ID, null, null, @BASECURRENCYID);

                select 
                    @GROUPTYPE = GT.NAME
                from dbo.GROUPDATA G
                inner join dbo.GROUPTYPE GT
                    on GT.ID = G.GROUPTYPEID
                where G.ID = @ID;

                select 
                    @GROUPMEMBERCOUNT = count(GM.ID)
                from dbo.GROUPMEMBER GM
                left join dbo.GROUPMEMBERDATERANGE as GMDR on GM.ID = GMDR.GROUPMEMBERID
                where GM.GROUPID = @ID
                and ((GMDR.DATEFROM is null and (GMDR.DATETO is null or GMDR.DATETO > @CURRENTDATE))
                  or (GMDR.DATETO is null and (GMDR.DATEFROM is null or GMDR.DATEFROM <= @CURRENTDATE)) 
                  or (GMDR.DATEFROM <= @CURRENTDATE and GMDR.DATETO > @CURRENTDATE))

                return 0;