USP_GROUPGOAL_ADD
Adds a record to GroupGoal table
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | INOUT | |
@GROUPID | uniqueidentifier | IN | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@ISFUNDRAISINGGOAL | bit | IN | |
@GROUPGOALUNITCODEID | uniqueidentifier | IN | |
@AMOUNT | money | IN | |
@GOALDATE | datetime | IN | |
@STARTDATE | datetime | IN | |
@DESCRIPTION | nvarchar(200) | IN | |
@NAME | nvarchar(50) | IN | |
@CURRENTAPPUSERID | uniqueidentifier | IN |
Definition
Copy
CREATE procedure dbo.USP_GROUPGOAL_ADD
(
@ID uniqueidentifier = null output,
@GROUPID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@ISFUNDRAISINGGOAL bit,
@GROUPGOALUNITCODEID uniqueidentifier,
@AMOUNT money,
@GOALDATE datetime,
@STARTDATE datetime = null,
@DESCRIPTION nvarchar(200) = '',
@NAME nvarchar(50) = '',
@CURRENTAPPUSERID uniqueidentifier = null
)
as
begin
set nocount on;
if dbo.UFN_GROUPCANHAVEGOALS(@GROUPID) = 0
raiserror('GROUPTYPE_DOESNOTPERMITGOALS',13,1);
if @ID is null
set @ID = newid();
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
declare @CURRENTDATE datetime
set @CURRENTDATE = getdate();
declare @BASECURRENCYID uniqueidentifier;
declare @ORGANIZATIONAMOUNT money = 0;
declare @ORGANIZATIONEXCHANGERATEID uniqueidentifier;
declare @ORGANIZATIONCURRENCYID uniqueidentifier;
if @ISFUNDRAISINGGOAL = 1
begin
set @BASECURRENCYID = dbo.UFN_APPUSER_GETBASECURRENCY(@CURRENTAPPUSERID);
set @ORGANIZATIONCURRENCYID = dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY();
if @BASECURRENCYID = @ORGANIZATIONCURRENCYID
set @ORGANIZATIONAMOUNT = @AMOUNT;
else --Base currency has changed and isn't the org currency
begin
set @ORGANIZATIONEXCHANGERATEID = dbo.UFN_CURRENCYEXCHANGERATE_GETLATEST(@BASECURRENCYID, @ORGANIZATIONCURRENCYID, @CURRENTDATE, 0, null);
set @ORGANIZATIONAMOUNT = dbo.UFN_CURRENCY_CONVERT(@AMOUNT, @ORGANIZATIONEXCHANGERATEID);
end
end
begin try
insert into dbo.GROUPGOAL
(ID, GROUPID, ISFUNDRAISINGGOAL, GROUPGOALUNITCODEID, AMOUNT, STARTDATE, GOALDATE, DESCRIPTION, BASECURRENCYID, ORGANIZATIONAMOUNT, ORGANIZATIONEXCHANGERATEID, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED, NAME)
values
(@ID, @GROUPID, @ISFUNDRAISINGGOAL, @GROUPGOALUNITCODEID, @AMOUNT, @STARTDATE, @GOALDATE, @DESCRIPTION, @BASECURRENCYID, @ORGANIZATIONAMOUNT, @ORGANIZATIONEXCHANGERATEID, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE , @NAME)
end try
begin catch
exec dbo.USP_RAISE_ERROR
return 1
end catch
return 0
end