USP_DATAFORMTEMPLATE_EDIT_MKTDOCUMENT
The save procedure used by the edit dataform template "Marketing Document Edit 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 |
@SITEID | uniqueidentifier | IN | Site |
@COST | money | IN | Cost |
@COSTDISTRIBUTIONMETHODCODE | tinyint | IN | Distribution |
@DOCUMENTTYPECODEID | uniqueidentifier | IN | Type |
@FILEURL | UDT_WEBADDRESS | IN | Media link |
@FILE | varbinary | IN | File |
@FILENAME | nvarchar(255) | IN | Attachment |
@FILETHUMBNAIL | varbinary | IN | File thumbnail |
@FILECHANGED | bit | IN | Attached file changed? |
Definition
Copy
CREATE procedure dbo.[USP_DATAFORMTEMPLATE_EDIT_MKTDOCUMENT]
(
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@NAME nvarchar(100),
@DESCRIPTION nvarchar(255),
@SITEID uniqueidentifier,
@COST money,
@COSTDISTRIBUTIONMETHODCODE tinyint,
@DOCUMENTTYPECODEID uniqueidentifier,
@FILEURL dbo.[UDT_WEBADDRESS],
@FILE varbinary(max),
@FILENAME nvarchar(255),
@FILETHUMBNAIL varbinary(max),
@FILECHANGED bit
)
as
set nocount on;
declare @CURRENTSITEID uniqueidentifier;
declare @CURRENCYEXCHANGERATEID uniqueidentifier;
declare @ORGANIZATIONAMOUNT money;
declare @ORGANIZATIONCURRENCYID uniqueidentifier;
declare @BASECURRENCYID uniqueidentifier;
declare @DATEADDED datetime;
begin try
if @CHANGEAGENTID is null exec dbo.[USP_CHANGEAGENT_GETORCREATECHANGEAGENT] @CHANGEAGENTID output;
select @BASECURRENCYID = [BASECURRENCYID], @DATEADDED = [DATEADDED], @CURRENCYEXCHANGERATEID = [CURRENCYEXCHANGERATEID] from dbo.[MKTDOCUMENT] where [ID] = @ID;
set @ORGANIZATIONCURRENCYID = dbo.[UFN_CURRENCY_GETORGANIZATIONCURRENCY]();
if (@ORGANIZATIONCURRENCYID = @BASECURRENCYID)
begin
set @ORGANIZATIONAMOUNT = @COST;
end
else
begin
if @CURRENCYEXCHANGERATEID is null
set @CURRENCYEXCHANGERATEID = dbo.[UFN_CURRENCYEXCHANGERATE_GETLATEST](@BASECURRENCYID, @ORGANIZATIONCURRENCYID, @DATEADDED, 0, null);
set @ORGANIZATIONAMOUNT = dbo.[UFN_CURRENCY_CONVERT](@COST, @CURRENCYEXCHANGERATEID);
end
if @FILECHANGED = 1
update dbo.[MKTDOCUMENT] set
[NAME] = @NAME,
[DESCRIPTION] = @DESCRIPTION,
[SITEID] = @SITEID,
[COST] = @COST,
[COSTDISTRIBUTIONMETHODCODE] = @COSTDISTRIBUTIONMETHODCODE,
[DOCUMENTTYPECODEID] = @DOCUMENTTYPECODEID,
[FILEURL] = @FILEURL,
[FILE] = @FILE,
[FILENAME] = @FILENAME,
[FILETHUMBNAIL] = @FILETHUMBNAIL,
[CHANGEDBYID] = @CHANGEAGENTID,
[CURRENCYEXCHANGERATEID] = @CURRENCYEXCHANGERATEID,
[ORGANIZATIONCOST] = @ORGANIZATIONAMOUNT
where [ID] = @ID;
else
update dbo.[MKTDOCUMENT] set
[NAME] = @NAME,
[DESCRIPTION] = @DESCRIPTION,
[SITEID] = @SITEID,
[COST] = @COST,
[COSTDISTRIBUTIONMETHODCODE] = @COSTDISTRIBUTIONMETHODCODE,
[DOCUMENTTYPECODEID] = @DOCUMENTTYPECODEID,
[FILEURL] = @FILEURL,
[CHANGEDBYID] = @CHANGEAGENTID,
[CURRENCYEXCHANGERATEID] = @CURRENCYEXCHANGERATEID,
[ORGANIZATIONCOST] = @ORGANIZATIONAMOUNT
where [ID] = @ID;
end try
begin catch
exec dbo.[USP_RAISE_ERROR];
return 1;
end catch
return 0;