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;