USP_DATAFORMTEMPLATE_EDITLOAD_FAFEVENT

The load procedure used by the edit dataform template "FAFEvent Edit Form"

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN The input ID parameter used to load the fields defined on the form.
@DATALOADED bit INOUT Output parameter indicating whether or not data was actually loaded.
@TSLONG bigint INOUT Output parameter indicating the TSLONG value of the record being edited. This is used to manage multi-user concurrency issues when multiple users access the same record.
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.
@NAME nvarchar(100) INOUT Name
@DESCRIPTION nvarchar(255) INOUT Description
@STARTDATE datetime INOUT Start date
@STARTTIME UDT_HOURMINUTE INOUT Start time
@ENDDATE datetime INOUT End date
@ENDTIME UDT_HOURMINUTE INOUT End time
@EVENTYEAR UDT_YEAR INOUT Report year
@EVENTLOCATIONID uniqueidentifier INOUT Location
@EVENTLOCATIONCONTACTID uniqueidentifier INOUT Event contact
@PRIORYEAREVENTID uniqueidentifier INOUT Previous event
@MAINEVENTID uniqueidentifier INOUT Main event
@EVENTCATEGORYCODEID uniqueidentifier INOUT Category
@SITES xml INOUT Sites
@LOOKUPEVENTID nvarchar(100) INOUT Alternate lookup ID
@SUPPORTPHONE nvarchar(100) INOUT Support phone
@SUPPORTURL UDT_WEBADDRESS INOUT Support URL
@HASSUPPORTINGEVENTS bit INOUT
@EVENTTYPECODE tinyint INOUT Event type
@EVENTSUPPORTEMAIL UDT_EMAILADDRESS INOUT Event support email

Definition

Copy


CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_FAFEVENT(
@ID uniqueidentifier,  
@DATALOADED bit = 0 output,
@TSLONG bigint = 0 output,
@CURRENTAPPUSERID uniqueidentifier,
--EVENT FIELDS

@NAME nvarchar(100) = NULL output,  
@DESCRIPTION nvarchar(255) = null output,  
@STARTDATE datetime = null output,  
@STARTTIME UDT_HOURMINUTE = null output,  
@ENDDATE datetime = null output,  
@ENDTIME UDT_HOURMINUTE = null output,  

@EVENTYEAR UDT_YEAR = null output,

@EVENTLOCATIONID uniqueidentifier = null output,
@EVENTLOCATIONCONTACTID uniqueidentifier = null output,
@PRIORYEAREVENTID uniqueidentifier = null output,
@MAINEVENTID uniqueidentifier = null output,
@EVENTCATEGORYCODEID uniqueidentifier =null output,
@SITES xml = null output,

@LOOKUPEVENTID nvarchar(100) = null output,
@SUPPORTPHONE nvarchar(100) = null output,
@SUPPORTURL UDT_WEBADDRESS = null output,
@HASSUPPORTINGEVENTS bit = null output,
@EVENTTYPECODE tinyint = null output,
@EVENTSUPPORTEMAIL UDT_EMAILADDRESS = null output
)
as
    set nocount on;

    -- be sure to set these, in case the select returns no rows

    set @DATALOADED = 0
    set @TSLONG = 0

  if dbo.UFN_SITEREQUIREDFORUSER(@CURRENTAPPUSERID) = 1
  begin 
    if not exists (select SITEID from dbo.APPUSER where APPUSER.ID = @CURRENTAPPUSERID)
      raiserror('You are not assigned to a default site. To continue, contact your administrator and verify your default site setup.', 13,1);
    else
      if dbo.UFN_APPUSER_DEFAULTSITEFORUSER(@CURRENTAPPUSERID) is null
         raiserror('Your default site is not included in your role?s record access.  To continue, contact your administrator and update your role.', 13,1);
  end

  select
  @DATALOADED = 1,
  @TSLONG = E.TSLONG,

  @NAME = E.NAME,    
  @DESCRIPTION = E.DESCRIPTION,    
  @STARTDATE = E.STARTDATE,    
  @STARTTIME = E.STARTTIME,    
  @ENDDATE = E.ENDDATE,    
  @ENDTIME = E.ENDTIME,    
  @EVENTYEAR = EV.EVENTYEAR,
  @EVENTLOCATIONID = E.EVENTLOCATIONID,        
  @EVENTLOCATIONCONTACTID = E.EVENTLOCATIONCONTACTID,  
  @PRIORYEAREVENTID = EV.PRIORYEAREVENTID,
  @MAINEVENTID = E.MAINEVENTID,
  @EVENTCATEGORYCODEID = EVENTCATEGORYCODEID,    
  --@SITES = dbo.UFN_EVENT_GETSITES_TOITEMLISTXML(E.ID),  

  @LOOKUPEVENTID = EV.LOOKUPEVENTID,    
  @SUPPORTPHONE = EV.SUPPORTPHONE,    
  @SUPPORTURL = EV.SUPPORTURL,
  @HASSUPPORTINGEVENTS = case when (select count(ID) from dbo.EVENT ES where ES.MAINEVENTID = E.ID) > 0 then 1 else 0 end,
  @EVENTTYPECODE = EV.EVENTTYPECODE,
  @EVENTSUPPORTEMAIL = EV.EVENTSUPPORTEMAIL
    from dbo.EVENT E (nolock)
    join dbo.EVENTEXTENSION EV (nolock)on E.ID= EV.EVENTID
    left join dbo.EVENTLOCATION  EL (nolock)on E.EVENTLOCATIONID= EL.ID
    WHERE E.ID = @ID

  select @SITES = (
      SELECT ES.[ID], ES.[SITEID], S.NAME
     FROM dbo.[UFN_EVENT_GETSITES](@ID) ES
     join dbo.[SITE] S on S.ID = ES.SITEID
     for xml raw('ITEM'),type,elements,root('SITES'),BINARY BASE64 )

    return 0;