USP_DATAFORMTEMPLATE_ADD_AUCTIONITEMADDTOAUCTION

The save procedure used by the add dataform template "Auction Item Add To Auction Add Data Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT The output parameter indicating the ID of the record added.
@EVENTAUCTIONID uniqueidentifier IN Input parameter indicating the context ID for the record being added.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@AUCTIONITEMID uniqueidentifier IN Item

Definition

Copy


                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_AUCTIONITEMADDTOAUCTION
                    (
                        @ID uniqueidentifier = null output, -- unused

                        @EVENTAUCTIONID uniqueidentifier,
                        @CHANGEAGENTID uniqueidentifier = null,
                        @AUCTIONITEMID uniqueidentifier = null
                    )
                    as

                    set nocount on;

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

                    declare @CURRENTDATE datetime
                    set @CURRENTDATE = getdate()

                    if exists(select 1 from dbo.AUCTIONITEM where AUCTIONITEM.ID = @AUCTIONITEMID and AUCTIONITEM.EVENTAUCTIONID is not null and AUCTIONITEM.EVENTAUCTIONID <> @EVENTAUCTIONID)
                        raiserror('Items cannot be removed from another auction.', 13, 1)

                    begin try

                        if @EVENTAUCTIONID is not null and exists(select 1 from dbo.EVENT where EVENT.ID = @EVENTAUCTIONID and EVENT.ISACTIVE = 0)
                            raiserror('BBERR_EVENTAUCTIONISINACTIVE',13,1);

                        if not exists
                                    (
                                        select EVENT.BASECURRENCYID 
                                        from dbo.EVENT 
                                        inner join dbo.AUCTIONITEM on AUCTIONITEM.TRANSACTIONCURRENCYID = EVENT.BASECURRENCYID
                                        where EVENT.ID = @EVENTAUCTIONID and AUCTIONITEM.ID = @AUCTIONITEMID
                                    )
                            raiserror('BBERR_AUCTIONITEM_EVENT_BASECURRENCY', 13, 1);

                        update dbo.AUCTIONITEM
                        set
                            EVENTAUCTIONID = @EVENTAUCTIONID
                            CHANGEDBYID = @CHANGEAGENTID
                            DATECHANGED = @CURRENTDATE
                        where
                            AUCTIONITEM.ID = @AUCTIONITEMID
                    end try

                    begin catch
                        exec dbo.USP_RAISE_ERROR
                        return 1
                    end catch

                    return 0