USP_DATAFORMTEMPLATE_EDIT_MERCHANDISEPRODUCT_2
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@PICTURE | varbinary | IN | |
@PICTURETHUMBNAIL | varbinary | IN | |
@NAME | nvarchar(50) | IN | |
@DESCRIPTION | nvarchar(255) | IN | |
@MERCHANDISEDEPARTMENTID | uniqueidentifier | IN | |
@MERCHANDISEDEPARTMENTCATEGORYID | uniqueidentifier | IN | |
@VENDORID | uniqueidentifier | IN | |
@ISDISCOUNTABLE | bit | IN | |
@ONHANDQUANTITY | int | IN | |
@ISACTIVE | bit | IN | |
@PICTURECHANGED | bit | IN | |
@TAXID | uniqueidentifier | IN |
Definition
Copy
create procedure dbo.USP_DATAFORMTEMPLATE_EDIT_MERCHANDISEPRODUCT_2 (
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@PICTURE varbinary(max),
@PICTURETHUMBNAIL varbinary(max),
@NAME nvarchar(50),
@DESCRIPTION nvarchar(255),
@MERCHANDISEDEPARTMENTID uniqueidentifier,
@MERCHANDISEDEPARTMENTCATEGORYID uniqueidentifier,
@VENDORID uniqueidentifier,
@ISDISCOUNTABLE bit,
@ONHANDQUANTITY integer,
@ISACTIVE bit,
@PICTURECHANGED bit,
@TAXID uniqueidentifier
)
as
set nocount on;
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output
declare @CURRENTDATE datetime
set @CURRENTDATE = getdate()
begin try
if @PICTURECHANGED = 0
begin
set @PICTURE = null
set @PICTURETHUMBNAIL = null
end
if exists(select 1 from dbo.PRODUCT where NAME = @NAME and ID <> @ID)
raiserror('BBERR_PRODUCTNAME_NOTUNIQUE',13,1)
if @ISDISCOUNTABLE = 1 and dbo.UFN_MERCHANDISEDEPARTMENT_ISDISCOUNTABLE(@MERCHANDISEDEPARTMENTID) = 0
raiserror('BBERR_DEPARTMENTNOTDISCOUNTABLE', 13, 1);
update dbo.PRODUCT set
NAME = @NAME,
DESCRIPTION = @DESCRIPTION,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
where ID = @ID
update dbo.MERCHANDISEPRODUCT set
PICTURE = @PICTURE,
PICTURETHUMBNAIL = @PICTURETHUMBNAIL,
MERCHANDISEDEPARTMENTID = @MERCHANDISEDEPARTMENTID,
MERCHANDISEDEPARTMENTCATEGORYID = @MERCHANDISEDEPARTMENTCATEGORYID,
ISACTIVE = @ISACTIVE,
ONHANDQUANTITY = @ONHANDQUANTITY,
ISDISCOUNTABLE = @ISDISCOUNTABLE,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE,
TAXID = @TAXID
where ID = @ID
update dbo.PRODUCTVENDOR set
VENDORID = @VENDORID,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
where PRODUCTID = @ID
end try
begin catch
exec dbo.USP_RAISE_ERROR
return 1
end catch
return 0;