USP_DATAFORMTEMPLATE_ADD_EMAILFINDER

The save procedure used by the add dataform template "EmailFinder 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
@OPTOUTSUBJECT nvarchar(255) IN Subject
@OPTOUTREPLYTO UDT_EMAILADDRESS IN Reply to
@OPTOUTORG nvarchar(150) IN Organization
@OPTOUTADDRESS nvarchar(300) IN Address
@OPTOUTPHONE nvarchar(150) IN Phone
@OPTOUTWEBSITE nvarchar(150) IN Web Site
@OPTOUTMISSION nvarchar(300) IN Mission
@OPTOUTDEFAULTEMAIL nvarchar(1024) IN

Definition

Copy


CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_EMAILFINDER
(
    @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,
    @OPTOUTSUBJECT nvarchar(255) = null,
    @OPTOUTREPLYTO dbo.UDT_EMAILADDRESS = null,
    @OPTOUTORG nvarchar(150) = null,
    @OPTOUTADDRESS nvarchar(300) = null,
    @OPTOUTPHONE nvarchar(150) = null,
    @OPTOUTWEBSITE nvarchar(150) = null,
    @OPTOUTMISSION nvarchar(300) = null,
    @OPTOUTDEFAULTEMAIL nvarchar(1024) = 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 = 'DF0F31DD-EECD-4688-8B56-1DCE8051E967'

        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 + ' EmailFinder process.';
        exec dbo.USP_DATAFORMTEMPLATE_ADD_BATCH2 @BATCHID output, @CURRENTAPPUSERID, null, @BATCHDESCRIPTION, null, 0, 0, '2e590b21-5586-4cc6-9a18-b8e0c60e0988', null, @CHANGEAGENTID;

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

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

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


        insert into dbo.EMAILFINDER
        (
            ID,
            NAME,
            DESCRIPTION,
            SITEID,
            BATCHID,
            BATCHAPPUSERID,
            PRIMARYCONTACTNAME,
            PRIMARYCONTACTEMAIL,
            PRIMARYCONTACTPHONE,
            ALTERNATECONTACTNAME,
            ALTERNATECONTACTEMAIL,
            ALTERNATECONTACTPHONE,
            INFOSOURCECODEID,
            OPTOUTSUBJECT,
            OPTOUTREPLYTO,
            OPTOUTORG,
            OPTOUTADDRESS,
            OPTOUTPHONE,
            OPTOUTWEBSITE,
            OPTOUTMISSION,
            OPTOUTDEFAULTEMAIL,
            ADDEDBYID,
            CHANGEDBYID,
            DATEADDED,
            DATECHANGED
        )
        values
        (
            @ID,
            @NAME,
            @DESCRIPTION,
            @SITEID,
            @BATCHID,
            @CURRENTAPPUSERID,
            @PRIMARYCONTACTNAME,
            @PRIMARYCONTACTEMAIL,
            @PRIMARYCONTACTPHONE,
            @ALTERNATECONTACTNAME,
            @ALTERNATECONTACTEMAIL,
            @ALTERNATECONTACTPHONE,
            @INFOSOURCECODEID,
            @OPTOUTSUBJECT,
            @OPTOUTREPLYTO,
            @OPTOUTORG,
            @OPTOUTADDRESS,
            @OPTOUTPHONE,
            @OPTOUTWEBSITE,
            @OPTOUTMISSION,
            @OPTOUTDEFAULTEMAIL,
            @CHANGEAGENTID,
            @CHANGEAGENTID,
            @CURRENTDATE,
            @CURRENTDATE
        );

        -- Create file row

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

        -- Create the sub-processes

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

        exec dbo.USP_BUSINESSPROCESSINSTANCE_ADD @CHANGEAGENTID = @CHANGEAGENTID
                                                @BUSINESSPROCESSCATALOGID = '2be9f4ad-5f54-444c-9176-1807e7a895d9'
                                                @BUSINESSPROCESSPARAMETERSETID = @EMAILFINDERSUBMITPROCESSID
                                                @OWNERID = @CURRENTAPPUSERID;

        declare @EMAILFINDERRESUBMITPROCESSID uniqueidentifier;
        set @EMAILFINDERRESUBMITPROCESSID = newID();
        insert into dbo.EMAILFINDERRESUBMITPROCESS
        (ID, EMAILFINDERID, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
        values
        (@EMAILFINDERRESUBMITPROCESSID, @ID, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE);

        exec dbo.USP_BUSINESSPROCESSINSTANCE_ADD @CHANGEAGENTID = @CHANGEAGENTID
                                                @BUSINESSPROCESSCATALOGID = 'b8dbebaf-16d7-4024-adf1-efe0b3872806'
                                                @BUSINESSPROCESSPARAMETERSETID = @EMAILFINDERRESUBMITPROCESSID
                                                @OWNERID = @CURRENTAPPUSERID;

        declare @EMAILFINDERGETPROCESSID uniqueidentifier;
        set @EMAILFINDERGETPROCESSID = newID();
        insert into dbo.EMAILFINDERGETPROCESS
        (ID, EMAILFINDERID, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
        values
        (@EMAILFINDERGETPROCESSID, @ID, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE);

        exec dbo.USP_BUSINESSPROCESSINSTANCE_ADD @CHANGEAGENTID = @CHANGEAGENTID
                                                @BUSINESSPROCESSCATALOGID = 'f4911109-3b6a-4c99-ad34-9a69cbc28545'
                                                @BUSINESSPROCESSPARAMETERSETID = @EMAILFINDERGETPROCESSID
                                                @OWNERID = @CURRENTAPPUSERID;

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

    return 0;