USP_DATAFORMTEMPLATE_VIEW_FACULTYPROFILE

The load procedure used by the view dataform template "Faculty 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.
@CONSTITUENTID uniqueidentifier INOUT CONSTITUENTID
@NAME nvarchar(400) INOUT NAME
@DECEASED bit INOUT DECEASED
@HASCLASSWITHBLOCK bit INOUT HASCLASSWITHBLOCK
@ISSTUDENT bit INOUT ISSTUDENT
@ATTRIBUTEDEFINED bit INOUT ATTRIBUTEDEFINED
@HASIND2ORGRELATIONS bit INOUT HASIND2ORGRELATIONS
@HASRECEIVEDFUNDS bit INOUT HASRECEIVEDFUNDS

Definition

Copy


CREATE procedure dbo.USP_DATAFORMTEMPLATE_VIEW_FACULTYPROFILE
(
    @ID uniqueidentifier,
    @CURRENTAPPUSERID uniqueidentifier,
    @DATALOADED bit = 0 output,
    @CONSTITUENTID uniqueidentifier = null output,
    @NAME nvarchar(400) = null output,
    @DECEASED bit = null output,
    @HASCLASSWITHBLOCK bit = null output,
    @ISSTUDENT bit = null output,
    @ATTRIBUTEDEFINED bit = null output,
    @HASIND2ORGRELATIONS bit = null output,
    @HASRECEIVEDFUNDS bit = null output
)
as
    set nocount on;

    -- be sure to set this, in case the select returns no rows

    set @DATALOADED = 0;

    select
        @DATALOADED = 1,
        @CONSTITUENTID = @ID,
        @NAME = CONSTITUENT.NAME,
        @DECEASED = case when DECEASEDCONSTITUENT.ID is null then 0 else 1 end,
        @HASCLASSWITHBLOCK =
            case when exists(
                    select 1
                    from dbo.CLASSMEETINGGROUP
                        inner join dbo.FACULTYCLASSMEETINGGROUP on CLASSMEETINGGROUP.ID = FACULTYCLASSMEETINGGROUP.CLASSMEETINGGROUPID
                        inner join dbo.FACULTYCOURSE on FACULTYCLASSMEETINGGROUP.FACULTYCOURSEID = FACULTYCOURSE.ID
                    where FACULTYCOURSE.FACULTYID = @ID and CLASSMEETINGGROUP.PATTERNBLOCKID is not null)
                then 1
                else 0
            end,
        @ISSTUDENT = dbo.UFN_CONSTITUENT_ISSTUDENT(@ID),
        @ATTRIBUTEDEFINED = dbo.UFN_ATTRIBUTECATEGORY_DEFINEDFORRECORDTYPE_FORAPPUSER('CONSTITUENT', @CURRENTAPPUSERID)
    from dbo.FACULTY
        join dbo.CONSTITUENT on CONSTITUENT.ID = FACULTY.ID
        left join dbo.DECEASEDCONSTITUENT on CONSTITUENT.ID = DECEASEDCONSTITUENT.ID
    where
        FACULTY.ID = @ID;



    -- has org. relationships?    

    set @HASIND2ORGRELATIONS = 0;                
    if exists(select top 1 RELATIONSHIP.ID 
                from dbo.RELATIONSHIP
                inner join dbo.CONSTITUENT on RELATIONSHIP.RECIPROCALCONSTITUENTID = CONSTITUENT.ID
                where 
                    RELATIONSHIP.RELATIONSHIPCONSTITUENTID = @ID
                    and CONSTITUENT.ISORGANIZATION = 1 )
        set @HASIND2ORGRELATIONS = 1;    

    set @HASRECEIVEDFUNDS = dbo.UFN_CONSTITUENT_HASRECEIVEDFUNDS(@ID)

    return 0;