USP_DATAFORMTEMPLATE_EDIT_MERCHANDISEDEPARTMENT

The save procedure used by the edit dataform template "Merchandise Department 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.
@NAME nvarchar(100) IN Name
@DESCRIPTION nvarchar(255) IN Description
@ISDISCOUNTABLE bit IN Discounts allowed on merchandise in this department
@CATEGORIES xml IN Categories

Definition

Copy

                CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_MERCHANDISEDEPARTMENT (
                    @ID uniqueidentifier,
                    @CHANGEAGENTID uniqueidentifier = null,
                    @NAME nvarchar(100),
                    @DESCRIPTION nvarchar(255),
                    @ISDISCOUNTABLE bit,
                    @CATEGORIES xml
                )
                as

                    set nocount on;

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

                    declare @CURRENTDATE datetime
                    set @CURRENTDATE = getdate()

                    begin try
                        -- handle updating the data
                        update dbo.MERCHANDISEPRODUCT set
                            ISDISCOUNTABLE = @ISDISCOUNTABLE,
                            CHANGEDBYID = @CHANGEAGENTID,
                            DATECHANGED = @CURRENTDATE
                        where
                            MERCHANDISEDEPARTMENTID = @ID
                            and ISDISCOUNTABLE <> @ISDISCOUNTABLE;

                        update dbo.MERCHANDISEDEPARTMENT set
                            NAME = @NAME,
                            DESCRIPTION = @DESCRIPTION,
                            ISDISCOUNTABLE = @ISDISCOUNTABLE,
                            CHANGEDBYID = @CHANGEAGENTID,
                            DATECHANGED = @CURRENTDATE
                        where ID = @ID

                        exec dbo.USP_MERCHANDISEDEPARTMENT_GETCATEGORIES_UPDATEFROMXML @ID, @CATEGORIES, @CHANGEAGENTID, @CURRENTDATE;
                    end try
                    begin catch
                        exec dbo.USP_RAISE_ERROR
                        return 1
                    end catch

                return 0;