USP_FAFEVENTDATACACHE_ADD

Parameters

Parameter Parameter Type Mode Description
@EVENTID uniqueidentifier IN
@CACHEKEY nvarchar(512) IN
@DATA xml IN
@LIFESPANSECONDS int IN

Definition

Copy


create procedure dbo.USP_FAFEVENTDATACACHE_ADD
(
    @EVENTID uniqueidentifier,
    @CACHEKEY nvarchar(512),
    @DATA xml,
    @LIFESPANSECONDS int
)
as
begin

    declare @CHANGEAGENTID as uniqueidentifier;
    declare @CURRENTDATE as datetime;
    declare @EXPIRATIONDATE as datetime;
    declare @ID as uniqueidentifier;

    set @CURRENTDATE = getdate();
    set @EXPIRATIONDATE = DATEADD(second, @LIFESPANSECONDS, @CURRENTDATE);

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

    set @ID = null;

    select @ID = ID
    from dbo.FAFEVENTDATACACHE
    where EVENTID = @EVENTID and CACHEKEY = @CACHEKEY

    if @ID is not null
        begin
            update dbo.FAFEVENTDATACACHE
            set DATA = @DATA,
                EXPIRATIONDATE = @EXPIRATIONDATE,
                ISCALCULATING = 0,
                CHANGEDBYID = @CHANGEAGENTID,
                DATECHANGED = @CURRENTDATE
            where ID = @ID
        end
    else
        begin
            begin try
                insert into dbo.FAFEVENTDATACACHE(ID, EVENTID, CACHEKEY, DATA, EXPIRATIONDATE, ISCALCULATING, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
                values(NEWID(), @EVENTID, @CACHEKEY, @DATA, @EXPIRATIONDATE, 0, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE)
            end try
            begin catch
                -- do nothing

            end catch
        end
end