USP_DATAFORMTEMPLATE_ADD_PEOPLEFINDER

The save procedure used by the add dataform template "PeopleFinder Add Form".

Parameters

Parameter Parameter Type Mode Description
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.
@ID uniqueidentifier INOUT The output parameter indicating the ID of the record added.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@NAME nvarchar(150) IN Name
@DESCRIPTION nvarchar(250) IN Description
@SITEID uniqueidentifier IN Site
@PRIMARYCONTACTNAME nvarchar(250) IN Name
@PRIMARYCONTACTEMAIL UDT_EMAILADDRESS IN Email address
@PRIMARYCONTACTPHONE nvarchar(20) IN Phone number
@ALTERNATECONTACTNAME nvarchar(250) IN Name
@ALTERNATECONTACTEMAIL UDT_EMAILADDRESS IN Email address
@ALTERNATECONTACTPHONE nvarchar(20) IN Phone number

Definition

Copy


CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_PEOPLEFINDER
(
    @CURRENTAPPUSERID uniqueidentifier,
    @ID uniqueidentifier = null output,
    @CHANGEAGENTID uniqueidentifier = null,    
    @NAME nvarchar(150) = null,
    @DESCRIPTION nvarchar(250) = null,
    @SITEID uniqueidentifier = null,
    @PRIMARYCONTACTNAME nvarchar(250) = null,
    @PRIMARYCONTACTEMAIL dbo.UDT_EMAILADDRESS = null,
    @PRIMARYCONTACTPHONE nvarchar(20) = null,
    @ALTERNATECONTACTNAME nvarchar(250) = null,
    @ALTERNATECONTACTEMAIL dbo.UDT_EMAILADDRESS = null,
    @ALTERNATECONTACTPHONE nvarchar(20) = null
)
as
    set nocount on;

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

    if @ID is null
        set @ID = newid();

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

    if (@SITEID is not null)
    begin
        if dbo.UFN_SITEALLOWEDFORUSER(@CURRENTAPPUSERID, @SITEID) = 0 
        begin
            raiserror ('ERR_SITE_NOACCESS',13,1);
            return 1;
        end
    end

    begin try

        -- Create batch for processing

        declare @BATCHID uniqueidentifier;
        declare @BATCHNAME nvarchar(100);
        declare @BATCHDESCRIPTION nvarchar(250);
        declare @COUNT int;

        select @COUNT = COUNT(ID) from dbo.BATCHTEMPLATE where BATCHTYPECATALOGID = 'C2952BBD-E65B-4E33-BE21-DB4DEFAF96DF'

        if @COUNT = 0
            begin
                raiserror('BBERR_TEMPLATE_DOESNOT_EXIST',13,1)
                return
            end

        set @BATCHNAME = @NAME + ' - ' + convert(nvarchar(8), getdate(), 112) + replace(convert(nvarchar(8), getdate(), 108), ':', '');
        set @BATCHDESCRIPTION = 'Batch created by ' + @NAME + ' PeopleFinder process.';
        exec dbo.USP_DATAFORMTEMPLATE_ADD_BATCH2 @BATCHID output, @CURRENTAPPUSERID, null, @BATCHDESCRIPTION, null, 0, 0, 'B528EA68-8A33-4C32-9265-F74A7DDF04CE', null, @CHANGEAGENTID;

        /* AAW 3/8/2010: Create a default information source code table entry of "PeopleFinder" and default to it: */
        declare @INFOSOURCECODEID uniqueidentifier;

        select @INFOSOURCECODEID = INFOSOURCECODE.[ID] 
        from dbo.INFOSOURCECODE 
        where INFOSOURCECODE.[DESCRIPTION] = N'PeopleFinder';

        if @INFOSOURCECODEID is null
            exec dbo.USP_INFOSOURCECODE_CREATEENTRY
                @DESCRIPTION = N'PeopleFinder',
                @CHANGEAGENTID = @CHANGEAGENTID,
                @ID = @INFOSOURCECODEID output;


        insert into dbo.PEOPLEFINDER
        (
            ID,
            NAME,
            DESCRIPTION,
            SITEID,
            BATCHID,
            BATCHAPPUSERID,
            PRIMARYCONTACTNAME,
            PRIMARYCONTACTEMAIL,
            PRIMARYCONTACTPHONE,
            ALTERNATECONTACTNAME,
            ALTERNATECONTACTEMAIL,
            ALTERNATECONTACTPHONE,
            INFOSOURCECODEID,
            ADDEDBYID,
            CHANGEDBYID,
            DATEADDED,
            DATECHANGED
        )
        values
        (
            @ID,
            @NAME,
            @DESCRIPTION,
            @SITEID,
            @BATCHID,
            @CURRENTAPPUSERID,
            @PRIMARYCONTACTNAME,
            @PRIMARYCONTACTEMAIL,
            @PRIMARYCONTACTPHONE,
            @ALTERNATECONTACTNAME,
            @ALTERNATECONTACTEMAIL,
            @ALTERNATECONTACTPHONE,
            @INFOSOURCECODEID,
            @CHANGEAGENTID,
            @CHANGEAGENTID,
            @CURRENTDATE,
            @CURRENTDATE
        );

        -- Create file row

        insert into dbo.PEOPLEFINDERFILE
        (
            ID,
            REQUESTFILE
        )
        values
        (
            @ID,
            null
        );

        -- Create the sub-processes

        declare @PEOPLEFINDERSUBMITPROCESSID uniqueidentifier;
        set @PEOPLEFINDERSUBMITPROCESSID = newID();
        insert into dbo.PEOPLEFINDERSUBMITPROCESS
        (ID, PEOPLEFINDERID, ADDRESSINCLUDECODE, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
        values
        (@PEOPLEFINDERSUBMITPROCESSID, @ID, 1, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE,@CURRENTDATE);

        exec dbo.USP_BUSINESSPROCESSINSTANCE_ADD @CHANGEAGENTID = @CHANGEAGENTID
                                                @BUSINESSPROCESSCATALOGID = 'ECBAA00E-AE64-489A-9545-377C024F7E7C'
                                                @BUSINESSPROCESSPARAMETERSETID = @PEOPLEFINDERSUBMITPROCESSID
                                                @OWNERID = @CURRENTAPPUSERID;

        declare @PEOPLEFINDERRESUBMITPROCESSID uniqueidentifier;
        set @PEOPLEFINDERRESUBMITPROCESSID = newID();
        insert into dbo.PEOPLEFINDERRESUBMITPROCESS
        (ID, PEOPLEFINDERID, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
        values
        (@PEOPLEFINDERRESUBMITPROCESSID, @ID, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE);

        exec dbo.USP_BUSINESSPROCESSINSTANCE_ADD @CHANGEAGENTID = @CHANGEAGENTID
                                                @BUSINESSPROCESSCATALOGID = '7EDF6B16-6522-489E-B80F-85B533FD3FFE'
                                                @BUSINESSPROCESSPARAMETERSETID = @PEOPLEFINDERRESUBMITPROCESSID
                                                @OWNERID = @CURRENTAPPUSERID;

        declare @PEOPLEFINDERGETPROCESSID uniqueidentifier;
        set @PEOPLEFINDERGETPROCESSID = newID();
        insert into dbo.PEOPLEFINDERGETPROCESS
        (ID, PEOPLEFINDERID, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
        values
        (@PEOPLEFINDERGETPROCESSID, @ID, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE);

        exec dbo.USP_BUSINESSPROCESSINSTANCE_ADD @CHANGEAGENTID = @CHANGEAGENTID
                                                @BUSINESSPROCESSCATALOGID = '9C1BACEC-AB82-43EF-A851-5B2EA92F1FAE'
                                                @BUSINESSPROCESSPARAMETERSETID = @PEOPLEFINDERGETPROCESSID
                                                @OWNERID = @CURRENTAPPUSERID;

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

    return 0;