USP_DATAFORMTEMPLATE_EDIT_PROSPECTRESEARCHREQUESTCONSTITUENT

The save procedure used by the edit dataform template "Prospect Research Request Constituent Edit Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN The input ID parameter indicating the ID of the record being edited.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@STATUSCODE tinyint IN Status
@PROSPECTRESEARCHREQUESTPRIORITYCODEID uniqueidentifier IN Priority
@DUEDATE date IN Due date
@PROSPECTRESEARCHREQUESTTYPECODEID uniqueidentifier IN Research type
@PROSPECTRESEARCHREQUESTREASONCODEID uniqueidentifier IN Request reason
@NOTES nvarchar(max) IN Notes
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.

Definition

Copy


CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_PROSPECTRESEARCHREQUESTCONSTITUENT (
    @ID uniqueidentifier,
    @CHANGEAGENTID uniqueidentifier = null,
    @STATUSCODE tinyint,
    @PROSPECTRESEARCHREQUESTPRIORITYCODEID uniqueidentifier,
    @DUEDATE date,
    @PROSPECTRESEARCHREQUESTTYPECODEID uniqueidentifier,
    @PROSPECTRESEARCHREQUESTREASONCODEID uniqueidentifier,
    @NOTES nvarchar(max),
    @CURRENTAPPUSERID uniqueidentifier
)
as

    set nocount on;

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

    declare @CURRENTDATE datetime
    set @CURRENTDATE = getdate()

    begin try
        update dbo.PROSPECTRESEARCHREQUESTCONSTITUENT set
            STATUSCODE = @STATUSCODE,
            PROSPECTRESEARCHREQUESTPRIORITYCODEID = @PROSPECTRESEARCHREQUESTPRIORITYCODEID,
            DUEDATE = @DUEDATE,
            PROSPECTRESEARCHREQUESTTYPECODEID = @PROSPECTRESEARCHREQUESTTYPECODEID,
            PROSPECTRESEARCHREQUESTREASONCODEID = @PROSPECTRESEARCHREQUESTREASONCODEID,
            NOTES = @NOTES,
            CHANGEDBYID = @CHANGEAGENTID,
            DATECHANGED = @CURRENTDATE
        where 
            ID = @ID

        if @STATUSCODE in (4, 5) begin
            update dbo.PROSPECTRESEARCHREQUESTCONSTITUENT 
            set
                STATUSCODE = case when ASSIGNEDTOID is null then 1 else 2 end,
                DATECOMPLETED = null
            where 
                ID = @ID

            declare @PROSPECTRESEARCHREQUESTID uniqueidentifier
            select @PROSPECTRESEARCHREQUESTID = PROSPECTRESEARCHREQUESTID from dbo.PROSPECTRESEARCHREQUESTCONSTITUENT where ID = @ID

            update dbo.PROSPECTRESEARCHREQUEST
            set
                STATUSCODE = case when ASSIGNEDTOID is null then 1 else 2 end,
                CHANGEDBYID = @CHANGEAGENTID,
                DATECHANGED = @CURRENTDATE
            where
                ID = @PROSPECTRESEARCHREQUESTID and STATUSCODE in (4, 5)

        end

        exec dbo.USP_PROSPECTRESEARCHREQUESTCONSTITUENT_EDITEDALERT_SEND @CURRENTAPPUSERID, @ID;

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

return 0;