USP_DATAFORMTEMPLATE_EDITLOAD_DISCOUNTAVAILABILITY

The load 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 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.
@NEWRECORD bit INOUT Edit availability
@ALLOWMONDAY bit INOUT Monday
@ALLOWTUESDAY bit INOUT Tuesday
@ALLOWWEDNESDAY bit INOUT Wednesday
@ALLOWTHURSDAY bit INOUT Thursday
@ALLOWFRIDAY bit INOUT Friday
@ALLOWSATURDAY bit INOUT Saturday
@ALLOWSUNDAY bit INOUT Sunday
@ALLOWDISCOUNTDATEFROM datetime INOUT From
@ALLOWDISCOUNTDATETO datetime INOUT To
@ALLOWDISCOUNTTIMEFROM UDT_HOURMINUTE INOUT From
@ALLOWDISCOUNTTIMETO UDT_HOURMINUTE INOUT To
@DISCOUNTADVANCEDSALESID uniqueidentifier INOUT Discount availability advanced sales method id
@ADVANCEDSALESACTIVE bit INOUT Advanced Sales Active
@ADVANCEDSALESID uniqueidentifier INOUT Advanced Sales ID
@ADVANCEDDESCRIPTION nvarchar(50) INOUT Advanced Description
@ALLOWADVANCEDSALES bit INOUT Advance sales
@DISCOUNTONLINESALESID uniqueidentifier INOUT Discount availability online sales method id
@ONLINESALESACTIVE bit INOUT Online Sales Active
@ONLINESALESID uniqueidentifier INOUT Online Sales ID
@ONLINEDESCRIPTION nvarchar(50) INOUT Online Description
@ALLOWONLINESALES bit INOUT Online
@DISCOUNTWALKUPSALESID uniqueidentifier INOUT Discount availability walk up sales method id
@WALKUPSALESACTIVE bit INOUT Walk Up Sales Active
@WALKUPSALESID uniqueidentifier INOUT Walk Up Sales ID
@WALKUPDESCRIPTION nvarchar(50) INOUT Walk Up Description
@ALLOWWALKUPSALES bit INOUT Walk up
@DISCOUNTGROUPSALESID uniqueidentifier INOUT
@GROUPSALESACTIVE bit INOUT
@GROUPSALESID uniqueidentifier INOUT
@GROUPSALESDESCRIPTION nvarchar(50) INOUT
@ALLOWGROUPSALES bit INOUT Group sales
@HASCONFIGUREDDAILYSALESBUTTON bit INOUT

Definition

Copy


                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_DISCOUNTAVAILABILITY
                    (
                        @ID uniqueidentifier,
                        @DATALOADED bit = 0 output,
                        @TSLONG bigint = 0 output,
                        @NEWRECORD bit = null output,
                        @ALLOWMONDAY bit = null output,
                        @ALLOWTUESDAY bit = null output,
                        @ALLOWWEDNESDAY bit = null output,
                        @ALLOWTHURSDAY bit = null output,
                        @ALLOWFRIDAY bit = null output,
                        @ALLOWSATURDAY bit = null output,
                        @ALLOWSUNDAY bit = null output,
                        @ALLOWDISCOUNTDATEFROM  datetime = null output,
                        @ALLOWDISCOUNTDATETO  datetime = null output,
                        @ALLOWDISCOUNTTIMEFROM  dbo.UDT_HOURMINUTE = null output,
                        @ALLOWDISCOUNTTIMETO  dbo.UDT_HOURMINUTE = null output,
                        @DISCOUNTADVANCEDSALESID uniqueidentifier = null output,
                        @ADVANCEDSALESACTIVE bit = null output,
                        @ADVANCEDSALESID uniqueidentifier = null output,
                        @ADVANCEDDESCRIPTION nvarchar(50) = null output,
                        @ALLOWADVANCEDSALES bit = null output,
                        @DISCOUNTONLINESALESID uniqueidentifier = null output,
                        @ONLINESALESACTIVE bit = null output,
                        @ONLINESALESID uniqueidentifier = null output,
                        @ONLINEDESCRIPTION nvarchar(50) = null output,
                        @ALLOWONLINESALES bit = null output,
                        @DISCOUNTWALKUPSALESID uniqueidentifier = null output,
                        @WALKUPSALESACTIVE bit = null output,
                        @WALKUPSALESID uniqueidentifier = null output,
                        @WALKUPDESCRIPTION nvarchar(50) = null output,
                        @ALLOWWALKUPSALES bit = null output,
                        @DISCOUNTGROUPSALESID uniqueidentifier = null output,
                        @GROUPSALESACTIVE bit = null output,
                        @GROUPSALESID uniqueidentifier = null output,
                        @GROUPSALESDESCRIPTION nvarchar(50) = null output,
                        @ALLOWGROUPSALES bit = null output,
                        @HASCONFIGUREDDAILYSALESBUTTON bit = null output
                    )
                    as
                        set nocount on;

                        set @DATALOADED = 0;
                        set @TSLONG = 0;

                        set @NEWRECORD = 0;

                        select
                            @DATALOADED = 1,
                            @TSLONG = TSLONG,
                            @ALLOWMONDAY = ALLOWMONDAY,
                            @ALLOWTUESDAY = ALLOWTUESDAY,
                            @ALLOWWEDNESDAY = ALLOWWEDNESDAY,
                            @ALLOWTHURSDAY = ALLOWTHURSDAY,
                            @ALLOWFRIDAY = ALLOWFRIDAY,
                            @ALLOWSATURDAY = ALLOWSATURDAY,
                            @ALLOWSUNDAY = ALLOWSUNDAY,
                            @ALLOWDISCOUNTDATEFROM = ALLOWDISCOUNTDATEFROM,
                            @ALLOWDISCOUNTDATETO = ALLOWDISCOUNTDATETO,
                            @ALLOWDISCOUNTTIMEFROM = ALLOWDISCOUNTTIMEFROM,
                            @ALLOWDISCOUNTTIMETO = ALLOWDISCOUNTTIMETO
                        from
                            dbo.DISCOUNTAVAILABILITY
                        where
                            ID = @ID;

                        select
                            @DISCOUNTWALKUPSALESID = DISCOUNTAVAILABILITYSALESMETHOD.ID,
                            @WALKUPSALESACTIVE = SALESMETHOD.ISACTIVE,
                            @WALKUPSALESID = SALESMETHOD.ID,
                            @WALKUPDESCRIPTION = SALESMETHOD.[TYPE],
                            @ALLOWWALKUPSALES = (case isnull(cast(DISCOUNTAVAILABILITYSALESMETHOD.ID as varchar(36)), '') when '' then 0 else 1 end)
                        from
                            dbo.SALESMETHOD left outer join dbo.DISCOUNTAVAILABILITYSALESMETHOD
                                on SALESMETHOD.ID = DISCOUNTAVAILABILITYSALESMETHOD.SALESMETHODID
                                and DISCOUNTAVAILABILITYSALESMETHOD.DISCOUNTAVAILABILITYID = @ID
                        where                            
                            SALESMETHOD.TYPECODE = 0;    

                        select
                            @DISCOUNTADVANCEDSALESID = DISCOUNTAVAILABILITYSALESMETHOD.ID,
                            @ADVANCEDSALESACTIVE = SALESMETHOD.ISACTIVE,
                            @ADVANCEDSALESID = SALESMETHOD.ID,
                            @ADVANCEDDESCRIPTION = SALESMETHOD.[TYPE],
                            @ALLOWADVANCEDSALES = (case isnull(cast(DISCOUNTAVAILABILITYSALESMETHOD.ID as varchar(36)), '') when '' then 0 else 1 end)
                        from
                            dbo.SALESMETHOD left outer join dbo.DISCOUNTAVAILABILITYSALESMETHOD
                                on SALESMETHOD.ID = DISCOUNTAVAILABILITYSALESMETHOD.SALESMETHODID
                                and DISCOUNTAVAILABILITYSALESMETHOD.DISCOUNTAVAILABILITYID = @ID
                        where                            
                            SALESMETHOD.TYPECODE = 1;

                        select
                            @DISCOUNTONLINESALESID = DISCOUNTAVAILABILITYSALESMETHOD.ID,
                            @ONLINESALESACTIVE = SALESMETHOD.ISACTIVE,
                            @ONLINESALESID = SALESMETHOD.ID,
                            @ONLINEDESCRIPTION = SALESMETHOD.[TYPE],
                            @ALLOWONLINESALES = (case isnull(cast(DISCOUNTAVAILABILITYSALESMETHOD.ID as varchar(36)), '') when '' then 0 else 1 end)
                        from
                            dbo.SALESMETHOD left outer join dbo.DISCOUNTAVAILABILITYSALESMETHOD
                                on SALESMETHOD.ID = DISCOUNTAVAILABILITYSALESMETHOD.SALESMETHODID
                                and DISCOUNTAVAILABILITYSALESMETHOD.DISCOUNTAVAILABILITYID = @ID
                        where                            
                            SALESMETHOD.TYPECODE = 2;        

                        select
                            @DISCOUNTGROUPSALESID = DISCOUNTAVAILABILITYSALESMETHOD.ID,
                            @GROUPSALESACTIVE = SALESMETHOD.ISACTIVE,
                            @GROUPSALESID = SALESMETHOD.ID,
                            @GROUPSALESDESCRIPTION = SALESMETHOD.[TYPE],
                            @ALLOWGROUPSALES = (case isnull(cast(DISCOUNTAVAILABILITYSALESMETHOD.ID as varchar(36)), '') when '' then 0 else 1 end)
                        from
                            dbo.SALESMETHOD left outer join dbo.DISCOUNTAVAILABILITYSALESMETHOD
                                on SALESMETHOD.ID = DISCOUNTAVAILABILITYSALESMETHOD.SALESMETHODID
                                and DISCOUNTAVAILABILITYSALESMETHOD.DISCOUNTAVAILABILITYID = @ID
                        where                            
                            SALESMETHOD.TYPECODE = 3;    

                        if exists(
                            select 1 from dbo.DAILYSALEITEMDISCOUNT
                            inner join dbo.DAILYSALEITEM on DAILYSALEITEM.ID = DAILYSALEITEMDISCOUNT.ID
                            inner join dbo.DISCOUNTAVAILABILITY 
                                on DISCOUNTAVAILABILITY.DISCOUNTID = DAILYSALEITEMDISCOUNT.DISCOUNTID
                            where DISCOUNTAVAILABILITY.ID = @ID
                            and DAILYSALEITEM.ISACTIVE = 1
                        )
                            set @HASCONFIGUREDDAILYSALESBUTTON = 1
                        else
                            set @HASCONFIGUREDDAILYSALESBUTTON = 0

                        return 0;