USP_DATAFORMTEMPLATE_EDIT_DISCOUNTAVAILABILITY_2

The save procedure used by the edit dataform template "Discount Availability Edit Data Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN The input ID parameter indicating the ID of the record being edited.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@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
@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
@DISCOUNTGROUPSALESID uniqueidentifier IN
@GROUPSALESACTIVE bit IN
@GROUPSALESID uniqueidentifier IN
@ALLOWGROUPSALES bit IN Group sales

Definition

Copy


                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_DISCOUNTAVAILABILITY_2
                    (
                        @ID uniqueidentifier,
                        @CHANGEAGENTID uniqueidentifier = null,                                                
                        @ALLOWMONDAY bit,
                        @ALLOWTUESDAY bit,
                        @ALLOWWEDNESDAY bit,
                        @ALLOWTHURSDAY bit,
                        @ALLOWFRIDAY bit,
                        @ALLOWSATURDAY bit,
                        @ALLOWSUNDAY bit,
                        @ALLOWDISCOUNTDATEFROM  datetime,
                        @ALLOWDISCOUNTDATETO  datetime,
                        @ALLOWDISCOUNTTIMEFROM  dbo.UDT_HOURMINUTE,
                        @ALLOWDISCOUNTTIMETO  dbo.UDT_HOURMINUTE,
                        @DISCOUNTADVANCEDSALESID uniqueidentifier,
                        @ADVANCEDSALESACTIVE bit,
                        @ADVANCEDSALESID uniqueidentifier,
                        @ALLOWADVANCEDSALES bit,
                        @DISCOUNTONLINESALESID uniqueidentifier,
                        @ONLINESALESACTIVE bit,
                        @ONLINESALESID uniqueidentifier,
                        @ALLOWONLINESALES bit,
                        @DISCOUNTWALKUPSALESID uniqueidentifier,
                        @WALKUPSALESACTIVE bit,
                        @WALKUPSALESID uniqueidentifier,
                        @ALLOWWALKUPSALES bit,
                        @DISCOUNTGROUPSALESID uniqueidentifier,
                        @GROUPSALESACTIVE bit,
                        @GROUPSALESID uniqueidentifier,
                        @ALLOWGROUPSALES bit                    
                    )
                    as
                        set nocount on;

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

                        declare @CURRENTDATE datetime;
                        set @CURRENTDATE = getdate();

                        begin try
                            update dbo.DISCOUNTAVAILABILITY set
                                ALLOWMONDAY = @ALLOWMONDAY,
                                ALLOWTUESDAY = @ALLOWTUESDAY,
                                ALLOWWEDNESDAY = @ALLOWWEDNESDAY,
                                ALLOWTHURSDAY = @ALLOWTHURSDAY,
                                ALLOWFRIDAY = @ALLOWFRIDAY,
                                ALLOWSATURDAY = @ALLOWSATURDAY,
                                ALLOWSUNDAY = @ALLOWSUNDAY,
                                ALLOWDISCOUNTDATEFROM = @ALLOWDISCOUNTDATEFROM,
                                ALLOWDISCOUNTDATETO = @ALLOWDISCOUNTDATETO,
                                ALLOWDISCOUNTTIMEFROM = @ALLOWDISCOUNTTIMEFROM,
                                ALLOWDISCOUNTTIMETO = @ALLOWDISCOUNTTIMETO,
                                CHANGEDBYID = @CHANGEAGENTID,
                                DATECHANGED = @CURRENTDATE
                            where
                                ID = @ID;

                            if @DISCOUNTWALKUPSALESID is not null and (@WALKUPSALESACTIVE = 0 or @ALLOWWALKUPSALES = 0)
                                begin
                                    delete from dbo.DISCOUNTAVAILABILITYSALESMETHOD where ID = @DISCOUNTWALKUPSALESID
                                end
                            else
                                begin
                                    if @DISCOUNTWALKUPSALESID is null and @WALKUPSALESACTIVE = 1 and @ALLOWWALKUPSALES = 1
                                        begin
                                            insert into dbo.DISCOUNTAVAILABILITYSALESMETHOD
                                                (
                                                    ID,
                                                    DISCOUNTAVAILABILITYID,
                                                    SALESMETHODID,
                                                    ADDEDBYID,
                                                    CHANGEDBYID,
                                                    DATEADDED,
                                                    DATECHANGED
                                                )
                                                values
                                                (
                                                    newid(),
                                                    @ID,
                                                    @WALKUPSALESID,
                                                    @CHANGEAGENTID,
                                                    @CHANGEAGENTID,
                                                    @CURRENTDATE,
                                                    @CURRENTDATE
                                                );                                            
                                        end
                                end

                            if @DISCOUNTADVANCEDSALESID is not null and (@ADVANCEDSALESACTIVE = 0 or @ALLOWADVANCEDSALES = 0)
                                begin
                                    delete from dbo.DISCOUNTAVAILABILITYSALESMETHOD where ID = @DISCOUNTADVANCEDSALESID
                                end
                            else
                                begin
                                    if @DISCOUNTADVANCEDSALESID is null and @ADVANCEDSALESACTIVE = 1 and @ALLOWADVANCEDSALES = 1
                                        begin
                                            insert into dbo.DISCOUNTAVAILABILITYSALESMETHOD
                                                (
                                                    ID,
                                                    DISCOUNTAVAILABILITYID,
                                                    SALESMETHODID,
                                                    ADDEDBYID,
                                                    CHANGEDBYID,
                                                    DATEADDED,
                                                    DATECHANGED
                                                )
                                                values
                                                (
                                                    newid(),
                                                    @ID,
                                                    @ADVANCEDSALESID,
                                                    @CHANGEAGENTID,
                                                    @CHANGEAGENTID,
                                                    @CURRENTDATE,
                                                    @CURRENTDATE
                                                );                                            
                                        end
                                end    

                            if @DISCOUNTONLINESALESID is not null and (@ONLINESALESACTIVE = 0 or @ALLOWONLINESALES = 0)
                                begin
                                    delete from dbo.DISCOUNTAVAILABILITYSALESMETHOD where ID = @DISCOUNTONLINESALESID
                                end
                            else
                                begin
                                    if @DISCOUNTONLINESALESID is null and @ONLINESALESACTIVE = 1 and @ALLOWONLINESALES = 1
                                        begin
                                            insert into dbo.DISCOUNTAVAILABILITYSALESMETHOD
                                                (
                                                    ID,
                                                    DISCOUNTAVAILABILITYID,
                                                    SALESMETHODID,
                                                    ADDEDBYID,
                                                    CHANGEDBYID,
                                                    DATEADDED,
                                                    DATECHANGED
                                                )
                                                values
                                                (
                                                    newid(),
                                                    @ID,
                                                    @ONLINESALESID,
                                                    @CHANGEAGENTID,
                                                    @CHANGEAGENTID,
                                                    @CURRENTDATE,
                                                    @CURRENTDATE
                                                );                                            
                                        end
                                end    

                            if @DISCOUNTGROUPSALESID is not null and (@GROUPSALESACTIVE = 0 or @ALLOWGROUPSALES = 0)
                                begin
                                    delete from dbo.DISCOUNTAVAILABILITYSALESMETHOD where ID = @DISCOUNTGROUPSALESID
                                end
                            else
                                begin
                                    if @DISCOUNTGROUPSALESID is null and @GROUPSALESACTIVE = 1 and @ALLOWGROUPSALES = 1
                                        begin
                                            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;