USP_DATAFORMTEMPLATE_ADD_JOBWITHCURRENCYCONTEXT
The save procedure used by the add dataform template "Job Add Form (With Currency Context)".
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@CONTEXTCURRENCYID | nvarchar(36) | IN | Input parameter indicating the context ID for the record being added. |
@ID | uniqueidentifier | INOUT | The output parameter indicating the ID of the record added. |
@CHANGEAGENTID | uniqueidentifier | IN | Input parameter indicating the ID of the change agent invoking the procedure. |
@CURRENTAPPUSERID | uniqueidentifier | IN | Input parameter indicating the ID of the current user. |
@NAME | nvarchar(100) | IN | Name |
@DESCRIPTION | nvarchar(255) | IN | Description |
@VOLUNTEERTYPEID | uniqueidentifier | IN | Volunteer type |
@SITEID | uniqueidentifier | IN | Site |
@ESTIMATEDVALUE | money | IN | Estimated value |
Definition
Copy
CREATE procedure dbo.[USP_DATAFORMTEMPLATE_ADD_JOBWITHCURRENCYCONTEXT]
(
@CONTEXTCURRENCYID nvarchar(36),
@ID uniqueidentifier = null output,
@CHANGEAGENTID uniqueidentifier = null,
@CURRENTAPPUSERID uniqueidentifier,
@NAME nvarchar(100),
@DESCRIPTION nvarchar(255) = '',
@VOLUNTEERTYPEID uniqueidentifier = null,
@SITEID uniqueidentifier = null,
@ESTIMATEDVALUE money = 0
)
as
declare @CURRENTDATE datetime;
declare @BASECURRENCYID uniqueidentifier;
declare @ORGANIZATIONCURRENCYID uniqueidentifier;
declare @ORGANIZATIONEXCHANGERATEID uniqueidentifier;
declare @ORGANIZATIONESTIMATEDVALUE money;
if @SITEID is null and dbo.[UFN_SITEREQUIREDFORUSER](@CURRENTAPPUSERID) = 1
begin
raiserror('Site is required.', 13, 1);
return 1;
end
if @ID is null set @ID = newid();
if @CHANGEAGENTID is null
exec dbo.[USP_CHANGEAGENT_GETORCREATECHANGEAGENT] @CHANGEAGENTID output;
set @CURRENTDATE = getdate();
if @CONTEXTCURRENCYID is null or len(@CONTEXTCURRENCYID) = 0
set @BASECURRENCYID = dbo.[UFN_APPUSER_GETBASECURRENCY](@CURRENTAPPUSERID);
else
set @BASECURRENCYID = convert(uniqueidentifier, @CONTEXTCURRENCYID);
set @ORGANIZATIONCURRENCYID = dbo.[UFN_CURRENCY_GETORGANIZATIONCURRENCY]();
set @ORGANIZATIONESTIMATEDVALUE = @ESTIMATEDVALUE;
if @ORGANIZATIONCURRENCYID <> @BASECURRENCYID
begin
set @ORGANIZATIONEXCHANGERATEID = dbo.[UFN_CURRENCYEXCHANGERATE_GETLATEST](@BASECURRENCYID, @ORGANIZATIONCURRENCYID, @CURRENTDATE, 0, null);
set @ORGANIZATIONESTIMATEDVALUE = dbo.[UFN_CURRENCY_CONVERT](@ESTIMATEDVALUE, @ORGANIZATIONEXCHANGERATEID);
end
begin try
insert into dbo.[JOB]
(
[ID],
[NAME],
[SITEID],
[DESCRIPTION],
[VOLUNTEERTYPEID],
[BASECURRENCYID],
[ORGANIZATIONEXCHANGERATEID],
[ESTIMATEDVALUE],
[ORGANIZATIONESTIMATEDVALUE],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED]
) values (
@ID,
@NAME,
@SITEID,
@DESCRIPTION,
@VOLUNTEERTYPEID,
@BASECURRENCYID,
@ORGANIZATIONEXCHANGERATEID,
@ESTIMATEDVALUE,
@ORGANIZATIONESTIMATEDVALUE,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
);
end try
begin catch
exec dbo.[USP_RAISE_ERROR];
return 1;
end catch
return 0;