USP_TIXEVENT_ADDEVENTS_ONCE

Called from event add to create a number of events

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT
@PROGRAMID uniqueidentifier IN
@CHANGEAGENTID uniqueidentifier IN
@NAME nvarchar(50) IN
@DESCRIPTION nvarchar(500) IN
@EVENTLOCATIONID uniqueidentifier IN
@CAPACITY int IN
@HOLDLISTID uniqueidentifier IN
@PRICELISTID uniqueidentifier IN
@EVENTDATE datetime IN
@ONCESTARTTIME UDT_HOURMINUTE IN
@ONCEENDTIME UDT_HOURMINUTE IN

Definition

Copy


    CREATE procedure dbo.USP_TIXEVENT_ADDEVENTS_ONCE
    (
        @ID uniqueidentifier = null output,
        @PROGRAMID uniqueidentifier = null,
        @CHANGEAGENTID uniqueidentifier = null,
        @NAME nvarchar(50) = '',
        @DESCRIPTION nvarchar(500) = '',
        @EVENTLOCATIONID uniqueidentifier = null,
        @CAPACITY int = 0,
        @HOLDLISTID uniqueidentifier = null,
        @PRICELISTID uniqueidentifier = null,
        @EVENTDATE datetime = null,
        @ONCESTARTTIME dbo.UDT_HOURMINUTE = null,
        @ONCEENDTIME dbo.UDT_HOURMINUTE = null
    )
    as
    begin
        if @ID is null
            set @ID = newid()

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

        declare @CURRENTDATE datetime
        set @CURRENTDATE = getdate()

        begin try
            -- handle inserting the data


            declare @EVENTHOLDLISTID uniqueidentifier
              set @EVENTHOLDLISTID = null

            declare @EVENTPRICELISTID uniqueidentifier
              set @EVENTPRICELISTID = null

            declare @EVENTSALESTYPEID uniqueidentifier
              set @EVENTSALESTYPEID = null

            insert into dbo.TIXEVENT
                (
              ID, 
              PROGRAMID, 
              NAME, 
              DESCRIPTION,
              EVENTLOCATIONID,
              CAPACITY,
              EVENTDATE,
              STARTTIME,
              ENDTIME,
              ADDEDBYID, 
              CHANGEDBYID, 
              DATEADDED, 
              DATECHANGED
            )
            values
                (
              @ID
              @PROGRAMID
              @NAME
              @DESCRIPTION,
              @EVENTLOCATIONID,
              @CAPACITY,
              @EVENTDATE,
              @ONCESTARTTIME,
              @ONCEENDTIME,
              @CHANGEAGENTID
              @CHANGEAGENTID
              @CURRENTDATE
              @CURRENTDATE
            )

            if exists(select * from dbo.PROGRAMSALESMETHOD where PROGRAMID = @PROGRAMID)
              begin
              set @EVENTSALESTYPEID = newid()

              insert into EVENTSALESMETHOD
              (
                ID,
                TIXEVENTID,
                SALESMETHODID,
                ADDEDBYID, 
                CHANGEDBYID, 
                DATEADDED, 
                DATECHANGED
              )
              (
                select
                  newid(),
                  @ID,
                  SALESMETHODID,
                  @CHANGEAGENTID
                  @CHANGEAGENTID
                  @CURRENTDATE
                  @CURRENTDATE
                from dbo.PROGRAMSALESMETHOD
                where PROGRAMID = @PROGRAMID
              )
              end

            if @HOLDLISTID is not null
              begin

              set @EVENTHOLDLISTID = newid()

              insert into dbo.EVENTHOLDLIST
              (
                ID, 
                NAME, 
                TIXEVENTID,
                ADDEDBYID, 
                CHANGEDBYID, 
                DATEADDED, 
                DATECHANGED
              )
              (
                select 
                  @EVENTHOLDLISTID
                  NAME,
                  @ID,
                  @CHANGEAGENTID
                  @CHANGEAGENTID
                  @CURRENTDATE
                  @CURRENTDATE 
                from dbo.HOLDLIST 
                where ID=@HOLDLISTID
              )

              insert into dbo.EVENTHOLD
              (
                ID,
                HOLDCODEID,
                QUANTITY,
                EVENTHOLDLISTID,
                ADDEDBYID, 
                CHANGEDBYID, 
                DATEADDED, 
                DATECHANGED
              )
           (
                select
                  newid(),
                  HOLDCODEID,
                  QUANTITY,
                  @EVENTHOLDLISTID,
                  @CHANGEAGENTID
                  @CHANGEAGENTID
                  @CURRENTDATE
                  @CURRENTDATE 
                from dbo.HOLD
                where HOLDLISTID = @HOLDLISTID
              )
              end

            if @PRICELISTID is not null
              begin

              set @EVENTPRICELISTID = newid()

              insert into dbo.EVENTPRICELIST
              (
                ID, 
                NAME, 
                TIXEVENTID,
                ADDEDBYID, 
                CHANGEDBYID, 
                DATEADDED, 
                DATECHANGED
              )
              (
                select 
                  @EVENTPRICELISTID
                  NAME,
                  @ID,
                  @CHANGEAGENTID
                  @CHANGEAGENTID
                  @CURRENTDATE
                  @CURRENTDATE 
                from dbo.PRICELIST 
                where ID=@PRICELISTID
              )

              insert into dbo.TIXEVENTPRICE
              (
                ID,
                PRICETYPECODEID,
                FACEPRICE,
                EVENTPRICELISTID,
                ADDEDBYID, 
                CHANGEDBYID, 
                DATEADDED, 
                DATECHANGED
              )
              (
                select
                  newid(),
                  PRICETYPECODEID,
                  FACEPRICE,
                  @EVENTPRICELISTID,
                  @CHANGEAGENTID
                  @CHANGEAGENTID
                  @CURRENTDATE
                  @CURRENTDATE 
                from dbo.PRICE
                where PRICELISTID = @PRICELISTID
              )
              end
        end try

        begin catch
            exec dbo.USP_RAISE_ERROR
            return 1
        end catch
    end