USP_DATAFORMTEMPLATE_EDIT_MOBILE_STEWARDSHIPPLANSTEP

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN
@CHANGEAGENTID uniqueidentifier IN
@STEWARDSHIPPLANID uniqueidentifier IN
@STEPOWNERISINDIVIDUAL bit IN
@CATEGORYCODEID uniqueidentifier IN
@OBJECTIVE nvarchar(100) IN
@TARGETDATE datetime IN
@DATELOCKED bit IN
@ACTUALDATE datetime IN
@STARTDATE datetime IN
@ENDDATE datetime IN
@CONTACTMETHODCODEID uniqueidentifier IN
@CONSTITUENTID uniqueidentifier IN
@ASSOCIATEDPLANS xml IN
@TEMPLATE nvarchar(100) IN
@RECURSCODE smallint IN
@STATUSCODE smallint IN
@NEXTTARGETDATE datetime IN
@LINKTYPECODE smallint IN
@BENEFITID uniqueidentifier IN
@EVENTID uniqueidentifier IN
@MAILINGID uniqueidentifier IN
@TARGETSTARTTIME UDT_HOURMINUTE IN
@TARGETENDTIME UDT_HOURMINUTE IN
@ISALLDAYEVENT bit IN
@TIMEZONEENTRYID uniqueidentifier IN
@ACTUALSTARTTIME UDT_HOURMINUTE IN
@ACTUALENDTIME UDT_HOURMINUTE IN
@STEPPARTICIPANTS xml IN

Definition

Copy


create procedure dbo.USP_DATAFORMTEMPLATE_EDIT_MOBILE_STEWARDSHIPPLANSTEP
(
  @ID uniqueidentifier,
  @CHANGEAGENTID uniqueidentifier = null,
  @STEWARDSHIPPLANID uniqueidentifier,
  @STEPOWNERISINDIVIDUAL bit,
  @CATEGORYCODEID uniqueidentifier,
  @OBJECTIVE nvarchar(100),
  @TARGETDATE datetime,
  @DATELOCKED bit,
  @ACTUALDATE datetime,
  @STARTDATE datetime,
  @ENDDATE datetime,                        
  @CONTACTMETHODCODEID uniqueidentifier,                        
  @CONSTITUENTID uniqueidentifier,
  @ASSOCIATEDPLANS xml,
  @TEMPLATE nvarchar(100),
  @RECURSCODE smallint,
  @STATUSCODE smallint,
  @NEXTTARGETDATE datetime,
  @LINKTYPECODE smallint,
  @BENEFITID uniqueidentifier,
  @EVENTID uniqueidentifier,
  @MAILINGID uniqueidentifier,
  @TARGETSTARTTIME dbo.UDT_HOURMINUTE,
  @TARGETENDTIME dbo.UDT_HOURMINUTE,
  @ISALLDAYEVENT bit
  @TIMEZONEENTRYID uniqueidentifier,
  @ACTUALSTARTTIME dbo.UDT_HOURMINUTE,
  @ACTUALENDTIME dbo.UDT_HOURMINUTE,
  @STEPPARTICIPANTS xml
) as begin
  set nocount on;

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

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

  begin try    

    update dbo.STEWARDSHIPPLANSTEP set
      CATEGORYCODEID = @CATEGORYCODEID,
      OBJECTIVE = @OBJECTIVE,
      TARGETDATE = @TARGETDATE,
      DATELOCKED = @DATELOCKED,
      ACTUALDATE = case @STATUSCODE when 0 then null else @ACTUALDATE end,
      STARTDATE = @STARTDATE,
      ENDDATE = @ENDDATE,                        
      CONTACTMETHODCODEID = @CONTACTMETHODCODEID,                        
      CONSTITUENTID = @CONSTITUENTID,
      TEMPLATE = @TEMPLATE,
      RECURSCODE = @RECURSCODE,
      STATUSCODE = @STATUSCODE,

      BENEFITID = case when @LINKTYPECODE = 0 then @BENEFITID else null end,
      EVENTID = case when @LINKTYPECODE = 1 then @EVENTID else null end,
      MAILINGID = case when @LINKTYPECODE = 2 then @MAILINGID else null end,

      CHANGEDBYID = @CHANGEAGENTID,
      DATECHANGED = @CHANGEDATE,

      TARGETSTARTTIME = @TARGETSTARTTIME,
      TARGETENDTIME = @TARGETENDTIME,
      ISALLDAYEVENT = @ISALLDAYEVENT
      TIMEZONEENTRYID = @TIMEZONEENTRYID,
      ACTUALSTARTTIME = @ACTUALSTARTTIME,
      ACTUALENDTIME = @ACTUALENDTIME
    where
      ID = @ID;

    exec dbo.USP_STEWARDSHIPPLANSTEP_ASSOCIATEDPLANS_UPDATEFROMXML @ID, null, @ASSOCIATEDPLANS, @CHANGEAGENTID, @CHANGEDATE;

    -- Add assigned to constituent as a plan steward, if it doesn't already exist

    if not @CONSTITUENTID is null
      exec dbo.USP_STEWARDSHIPPLANSTEWARD_ADD @STEWARDSHIPPLANID, @CONSTITUENTID, @CHANGEAGENTID, @CHANGEDATE;

    -- Handle recursion if current step was set as complete

    if not @NEXTTARGETDATE is null
      exec dbo.USP_STEWARDSHIPPLAN_CLONERECURRINGCOMPLETEDSTEP @ID, @NEXTTARGETDATE, @CHANGEAGENTID, @CHANGEDATE;

    if not @STEPPARTICIPANTS is null
      exec dbo.USP_STEWARDSHIPPLANSTEP_PARTICIPANTS_UPDATEFROMXML @ID, @STEPPARTICIPANTS, @CHANGEAGENTID, @CHANGEDATE
  end try
  begin catch
    exec dbo.USP_RAISE_ERROR;
    return 1;
  end catch;

  return 0;

end