USP_EVENTSALESMETHOD_ONLINE_ENABLE
Executes the "Microsite Programming Event Online" record operation.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | Input parameter indicating the ID of the record being updated. |
@CHANGEAGENTID | uniqueidentifier | IN | Input parameter indicating the ID of the change agent invoking the update. |
Definition
Copy
CREATE procedure dbo.USP_EVENTSALESMETHOD_ONLINE_ENABLE
(
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier
)
as begin
begin try
declare @ONLINESALESMETHOD uniqueidentifier = dbo.UFN_SALESMETHOD_GETIDFROMTYPECODE(2);--2 = online
if not exists(select 1 from EVENTSALESMETHOD where (EVENTID = @ID) and (SALESMETHODID = @ONLINESALESMETHOD))
begin
declare @PROGRAMID uniqueidentifier
declare @EVENTSTARTDATE date
select @PROGRAMID = PROGRAMID, @EVENTSTARTDATE = STARTDATE from dbo.EVENT where dbo.EVENT.ID = @ID
if @PROGRAMID is not null
begin
DECLARE @ONSALEDATE date
DECLARE @ONSALETIME UDT_HOURMINUTE
Declare @CURRENTSYSTEMDEFAULTDATE datetime = dbo.UFN_TIMEZONEENTRY_GETSYSTEMDEFAULTDATEFROMUTC(getutcdate())
set @ONSALEDATE = dbo.UFN_TIMEZONEENTRY_GETSYSTEMDEFAULTDATEFROMUTC(@CURRENTSYSTEMDEFAULTDATE)
set @ONSALETIME = dbo.UFN_HOURMINUTE_GETFROMDATE(@CURRENTSYSTEMDEFAULTDATE)
--reference [USP_EVENT_INSERT]
select
@ONSALEDATE =
case ONSALETYPECODE
when 0 then @ONSALEDATE
when 1 then ONSALEDATE
when 2 then dateadd(day, -1 * ONSALETIMEBEFORE, @EVENTSTARTDATE)
when 3 then dateadd(week, -1 * ONSALETIMEBEFORE, @EVENTSTARTDATE)
when 4 then dateadd(month, -1 * ONSALETIMEBEFORE, @EVENTSTARTDATE)
end,
@ONSALETIME =
case ONSALETYPECODE
when 0 then @ONSALETIME
else ONSALETIME
end
from dbo.PROGRAMSALESMETHOD
where (PROGRAMID = @PROGRAMID)
and (SALESMETHODID = @ONLINESALESMETHOD)
declare @EVENTSALESMETHODID uniqueidentifier = NEWID()
DECLARE @RC int
EXECUTE @RC = [dbo].[USP_EVENTSALESMETHOD_INSERT]
@EVENTSALESMETHODID
,@ID -- event ID
,@ONLINESALESMETHOD
,@ONSALEDATE
,@ONSALETIME
,@CHANGEAGENTID
end
end
end try
begin catch
--exec dbo.USP_RAISE_ERROR
--return 1
end catch
return 0;
end