USP_DATAFORMTEMPLATE_EDIT_JOBOCCURRENCE_1_1_3

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN
@CHANGEAGENTID uniqueidentifier IN
@DESCRIPTION nvarchar(30) IN
@DEPARTMENTCODEID uniqueidentifier IN
@LOCATIONCODEID uniqueidentifier IN
@TYPECODE tinyint IN
@STARTDATE datetime IN
@ENDDATE datetime IN
@STARTMONTHDAY UDT_MONTHDAY IN
@ENDMONTHDAY UDT_MONTHDAY IN
@ONESTARTTIME UDT_HOURMINUTE IN
@ONEENDTIME UDT_HOURMINUTE IN
@RECSTARTTIME UDT_HOURMINUTE IN
@RECENDTIME UDT_HOURMINUTE IN
@DAYOFWEEKCODE tinyint IN
@EVENTID uniqueidentifier IN
@VOLUNTEERSNEEDED int IN
@COMMENTS nvarchar(max) IN
@SITEID uniqueidentifier IN
@CURRENTAPPUSERID uniqueidentifier IN
@ESTIMATEDVALUE money IN
@RECURRENCESTARTDATE datetime IN
@RECURRENCEENDDATE datetime IN

Definition

Copy

CREATE procedure dbo.[USP_DATAFORMTEMPLATE_EDIT_JOBOCCURRENCE_1_1_3]
(
  @ID uniqueidentifier,
  @CHANGEAGENTID uniqueidentifier = null,
  @DESCRIPTION nvarchar(30),
  @DEPARTMENTCODEID uniqueidentifier,
  @LOCATIONCODEID uniqueidentifier,
  @TYPECODE tinyint,
  @STARTDATE datetime,
  @ENDDATE datetime,
  @STARTMONTHDAY dbo.[UDT_MONTHDAY],
  @ENDMONTHDAY dbo.[UDT_MONTHDAY],
  @ONESTARTTIME dbo.[UDT_HOURMINUTE],
  @ONEENDTIME dbo.[UDT_HOURMINUTE],
  @RECSTARTTIME dbo.[UDT_HOURMINUTE],
  @RECENDTIME dbo.[UDT_HOURMINUTE],
  @DAYOFWEEKCODE tinyint,
  @EVENTID uniqueidentifier,
  @VOLUNTEERSNEEDED integer,
  @COMMENTS nvarchar(max),
  @SITEID uniqueidentifier,
  @CURRENTAPPUSERID uniqueidentifier,
  @ESTIMATEDVALUE money,
  @RECURRENCESTARTDATE datetime,
  @RECURRENCEENDDATE datetime
)
as
  set nocount on;

  declare @CURRENTDATE datetime;
  declare @STARTTIME dbo.[UDT_HOURMINUTE];
  declare @ENDTIME dbo.[UDT_HOURMINUTE];
  declare @BASECURRENCYID uniqueidentifier;
  declare @ORGANIZATIONCURRENCYID uniqueidentifier;
  declare @ORGANIZATIONEXCHANGERATEID uniqueidentifier;
  declare @ORGANIZATIONESTIMATEDVALUE money;
  declare @DATEADDED datetime;

  if @SITEID is null and dbo.UFN_SITEREQUIREDFORUSER(@CURRENTAPPUSERID) = 1 
    begin
      raiserror('Site is required.', 13, 1)
      return
    end

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

  set @CURRENTDATE = getdate();

  if @TYPECODE = 0 
    select @STARTMONTHDAY = '0000',
           @ENDMONTHDAY = '0000',
           @STARTTIME = @ONESTARTTIME,
           @ENDTIME = @ONEENDTIME,
           @DAYOFWEEKCODE = 0,
           @RECURRENCESTARTDATE = null,
           @RECURRENCEENDDATE = null;

  if @TYPECODE = 1 
    select @STARTDATE = null,
           @ENDDATE = null,
           @STARTTIME = @RECSTARTTIME,
           @ENDTIME = @RECENDTIME,
           @STARTMONTHDAY = '0101',
           @ENDMONTHDAY = '1231';

  if @TYPECODE = 2
    select @STARTDATE = null,
           @ENDDATE = null,
           @STARTMONTHDAY = '0000',
           @ENDMONTHDAY = '0000',
           @STARTTIME = @RECSTARTTIME,
           @ENDTIME = @RECENDTIME,
           @RECURRENCESTARTDATE = null,
           @RECURRENCEENDDATE = null;

  select @BASECURRENCYID = [BASECURRENCYID], @DATEADDED = [DATEADDED] from dbo.[JOBOCCURRENCE] where [ID] = @ID;
  set @ORGANIZATIONCURRENCYID = dbo.[UFN_CURRENCY_GETORGANIZATIONCURRENCY]();
  set @ORGANIZATIONESTIMATEDVALUE = @ESTIMATEDVALUE;

  if @ORGANIZATIONCURRENCYID <> @BASECURRENCYID
    begin
      set @ORGANIZATIONEXCHANGERATEID = dbo.[UFN_CURRENCYEXCHANGERATE_GETLATEST](@BASECURRENCYID, @ORGANIZATIONCURRENCYID, @DATEADDED, 0, null);
      set @ORGANIZATIONESTIMATEDVALUE = dbo.[UFN_CURRENCY_CONVERT](@ESTIMATEDVALUE, @ORGANIZATIONEXCHANGERATEID);
    end

  begin try
    update dbo.[JOBOCCURRENCE] set
      [DESCRIPTION] = @DESCRIPTION,
      [DEPARTMENTCODEID] = @DEPARTMENTCODEID,
      [LOCATIONCODEID] = @LOCATIONCODEID,
      [TYPECODE] = @TYPECODE
      [STARTDATE] = @STARTDATE
      [ENDDATE] = @ENDDATE
      [STARTMONTHDAY] = @STARTMONTHDAY
      [ENDMONTHDAY] = @ENDMONTHDAY
      [STARTTIME] = @STARTTIME
      [ENDTIME] = @ENDTIME
      [DAYOFWEEKCODE] = @DAYOFWEEKCODE
      [EVENTID] = @EVENTID
      [VOLUNTEERSNEEDED] = coalesce(@VOLUNTEERSNEEDED, 0),
      [COMMENTS] = @COMMENTS,
      [ORGANIZATIONEXCHANGERATEID] = @ORGANIZATIONEXCHANGERATEID,
      [ESTIMATEDVALUE] = @ESTIMATEDVALUE,
      [ORGANIZATIONESTIMATEDVALUE] = @ORGANIZATIONESTIMATEDVALUE,
      [CHANGEDBYID] = @CHANGEAGENTID
      [DATECHANGED] = @CURRENTDATE,
      [SITEID] = @SITEID,
      [RECURRENCESTARTDATE] = @RECURRENCESTARTDATE,
      [RECURRENCEENDDATE] = @RECURRENCEENDDATE
    where [ID] = @ID;
  end try

  begin catch
    exec dbo.[USP_RAISE_ERROR];
    return 1;
  end catch

  return 0;