USP_DATAFORMTEMPLATE_ADD_DISCOUNTAVAILABILITY

The save procedure used by the add dataform template "Discount Availability Add Data Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT The output parameter indicating the ID of the record added.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@DISCOUNTID uniqueidentifier IN Input parameter indicating the context ID for the record being added.
@DISCOUNTADVANCEDSALESID uniqueidentifier IN Discount availability advanced sales method id
@ADVANCEDSALESACTIVE bit IN Advanced Sales Active
@ADVANCEDSALESID uniqueidentifier IN Advanced Sales ID
@ALLOWADVANCEDSALES bit IN Advance sales
@DISCOUNTONLINESALESID uniqueidentifier IN Discount availability online sales method id
@ONLINESALESACTIVE bit IN Online Sales Active
@ONLINESALESID uniqueidentifier IN Online Sales ID
@ALLOWONLINESALES bit IN Online
@DISCOUNTWALKUPSALESID uniqueidentifier IN Discount availability walk up sales method id
@WALKUPSALESACTIVE bit IN Walk Up Sales Active
@WALKUPSALESID uniqueidentifier IN Walk Up Sales ID
@ALLOWWALKUPSALES bit IN Walk up
@ALLOWMONDAY bit IN Monday
@ALLOWTUESDAY bit IN Tuesday
@ALLOWWEDNESDAY bit IN Wednesday
@ALLOWTHURSDAY bit IN Thursday
@ALLOWFRIDAY bit IN Friday
@ALLOWSATURDAY bit IN Saturday
@ALLOWSUNDAY bit IN Sunday
@ALLOWDISCOUNTDATEFROM datetime IN From
@ALLOWDISCOUNTDATETO datetime IN To
@ALLOWDISCOUNTTIMEFROM UDT_HOURMINUTE IN From
@ALLOWDISCOUNTTIMETO UDT_HOURMINUTE IN To
@GROUPSALESID uniqueidentifier IN
@GROUPSALESACTIVE bit IN
@ALLOWGROUPSALES bit IN Group sales

Definition

Copy


CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_DISCOUNTAVAILABILITY
(
    @ID uniqueidentifier = null output,
    @CHANGEAGENTID uniqueidentifier = null,
    @DISCOUNTID uniqueidentifier,                        
    @DISCOUNTADVANCEDSALESID uniqueidentifier=null,
    @ADVANCEDSALESACTIVE bit=1,
    @ADVANCEDSALESID uniqueidentifier=null,                        
    @ALLOWADVANCEDSALES bit=1,
    @DISCOUNTONLINESALESID uniqueidentifier=null,
    @ONLINESALESACTIVE bit=1,
    @ONLINESALESID uniqueidentifier=null,                        
    @ALLOWONLINESALES bit=1,
    @DISCOUNTWALKUPSALESID uniqueidentifier=null,
    @WALKUPSALESACTIVE bit=1,
    @WALKUPSALESID uniqueidentifier = null,                        
    @ALLOWWALKUPSALES bit=1,                        
    @ALLOWMONDAY bit=1,
    @ALLOWTUESDAY bit=1,
    @ALLOWWEDNESDAY bit=1,
    @ALLOWTHURSDAY bit=1,
    @ALLOWFRIDAY bit=1,
    @ALLOWSATURDAY bit=1,
    @ALLOWSUNDAY bit=1,
    @ALLOWDISCOUNTDATEFROM  datetime = null,
    @ALLOWDISCOUNTDATETO  datetime = null,
    @ALLOWDISCOUNTTIMEFROM  dbo.UDT_HOURMINUTE = null,
    @ALLOWDISCOUNTTIMETO  dbo.UDT_HOURMINUTE = null,
    @GROUPSALESID uniqueidentifier = null,
    @GROUPSALESACTIVE bit = 1,
    @ALLOWGROUPSALES bit = 0    
)
as

set nocount on;

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

    insert into dbo.DISCOUNTAVAILABILITY(
        ID, 
        DISCOUNTID, 
        ALLOWMONDAY, 
        ALLOWTUESDAY, 
        ALLOWWEDNESDAY, 
        ALLOWTHURSDAY, 
        ALLOWFRIDAY, 
        ALLOWSATURDAY,
        ALLOWSUNDAY,
        ALLOWDISCOUNTDATEFROM,
        ALLOWDISCOUNTDATETO,
        ALLOWDISCOUNTTIMEFROM,
        ALLOWDISCOUNTTIMETO,
        ADDEDBYID, 
        CHANGEDBYID, 
        DATEADDED, 
        DATECHANGED)
    values(
        @ID
        @DISCOUNTID
        @ALLOWMONDAY
        @ALLOWTUESDAY
        @ALLOWWEDNESDAY
        @ALLOWTHURSDAY
        @ALLOWFRIDAY
        @ALLOWSATURDAY,
        @ALLOWSUNDAY,
        @ALLOWDISCOUNTDATEFROM,
        @ALLOWDISCOUNTDATETO,
        @ALLOWDISCOUNTTIMEFROM,
        @ALLOWDISCOUNTTIMETO,
        @CHANGEAGENTID
        @CHANGEAGENTID
        @CURRENTDATE
        @CURRENTDATE
    );


    If @WALKUPSALESACTIVE=1
        begin
            If @ALLOWWALKUPSALES=1
                begin
                    if @WALKUPSALESID is null
                    begin
                        select @WALKUPSALESID = ID from dbo.SALESMETHOD where TYPECODE = 0;
                    end

                    insert into dbo.DISCOUNTAVAILABILITYSALESMETHOD
                    (
                        ID,
                        DISCOUNTAVAILABILITYID,
                        SALESMETHODID,
                        ADDEDBYID,
                        CHANGEDBYID,
                        DATEADDED,
                        DATECHANGED
                    )
                    values
                    (
                        newid(),
                        @ID,
                        @WALKUPSALESID,
                        @CHANGEAGENTID,
                        @CHANGEAGENTID,
                        @CURRENTDATE,
                        @CURRENTDATE
                    );
                end
        end

    If @ADVANCEDSALESACTIVE=1
        begin
            If @ALLOWADVANCEDSALES=1
                begin
                    if @ADVANCEDSALESID is null
                    begin
                        select @ADVANCEDSALESID = ID from dbo.SALESMETHOD where TYPECODE = 1;
                    end

                    insert into dbo.DISCOUNTAVAILABILITYSALESMETHOD
                    (
                        ID,
                        DISCOUNTAVAILABILITYID,
                        SALESMETHODID,
                        ADDEDBYID,
                        CHANGEDBYID,
                        DATEADDED,
                        DATECHANGED
                    )
                    values
                    (
                        newid(),
                        @ID,
                        @ADVANCEDSALESID,
                        @CHANGEAGENTID,
                        @CHANGEAGENTID,
                        @CURRENTDATE,
                        @CURRENTDATE
                    );
                end
        end

    If @ONLINESALESACTIVE=1
        begin
            If @ALLOWONLINESALES=1
                begin
                    if @ONLINESALESID is null
                    begin
                        select @ONLINESALESID = ID from dbo.SALESMETHOD where TYPECODE = 2;
                    end                                    

                    insert into dbo.DISCOUNTAVAILABILITYSALESMETHOD
                    (
                        ID,
                        DISCOUNTAVAILABILITYID,
                        SALESMETHODID,
                        ADDEDBYID,
                        CHANGEDBYID,
                        DATEADDED,
                        DATECHANGED
                    )
                    values
                    (
                        newid(),
                        @ID,
                        @ONLINESALESID,
                        @CHANGEAGENTID,
                        @CHANGEAGENTID,
                        @CURRENTDATE,
                        @CURRENTDATE
                    );
                end
        end    

    If @GROUPSALESACTIVE=1
        begin
            If @ALLOWGROUPSALES=1
                begin
                    if @GROUPSALESID is null
                    begin
                        select @GROUPSALESID = ID from dbo.SALESMETHOD where TYPECODE = 3;
                    end

                    insert into dbo.DISCOUNTAVAILABILITYSALESMETHOD
                    (
                        ID,
                        DISCOUNTAVAILABILITYID,
                        SALESMETHODID,
                        ADDEDBYID,
                        CHANGEDBYID,
                        DATEADDED,
                        DATECHANGED
                    )
                    values
                    (
                        newid(),
                        @ID,
                        @GROUPSALESID,
                        @CHANGEAGENTID,
                        @CHANGEAGENTID,
                        @CURRENTDATE,
                        @CURRENTDATE
                    );
                end
        end

end try

begin catch
    exec dbo.USP_RAISE_ERROR
    return 1
end catch

return 0