USP_SPONSORSHIPOPPORTUNITY_ADD_PROJECT
The save procedure used by the add dataform template "Sponsorship Opportunity Project Add Form".
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@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. |
@SPONSORSHIPOPPORTUNITYGROUPID | uniqueidentifier | IN | Project group |
@SPONSORSHIPLOCATIONID | uniqueidentifier | IN | Location |
@PROJECTNAME | nvarchar(100) | IN | Name |
@DESCRIPTION | nvarchar(255) | IN | Description |
@GOAL | money | IN | Amount |
@SPONSORGOAL | int | IN | Sponsors |
@DESIGNATIONID | uniqueidentifier | IN | Designation |
@SPROPPPROJECTCATEGORYCODE | uniqueidentifier | IN | Category |
@BASECURRENCYID | uniqueidentifier | IN | Base currency ID |
@CURRENTAPPUSERID | uniqueidentifier | IN | Input parameter indicating the ID of the current user. |
Definition
Copy
CREATE procedure dbo.USP_SPONSORSHIPOPPORTUNITY_ADD_PROJECT
(
@ID uniqueidentifier = null output,
@CHANGEAGENTID uniqueidentifier = null,
@SPONSORSHIPOPPORTUNITYGROUPID uniqueidentifier =null,
@SPONSORSHIPLOCATIONID uniqueidentifier = null,
@PROJECTNAME nvarchar(100),
@DESCRIPTION nvarchar(255) = '',
@GOAL money=0,
@SPONSORGOAL int=0,
@DESIGNATIONID uniqueidentifier=null,
@SPROPPPROJECTCATEGORYCODE uniqueidentifier = null,
@BASECURRENCYID uniqueidentifier = null,
@CURRENTAPPUSERID uniqueidentifier = null
)
as
set nocount on;
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 @AVAILABILITYCODE tinyint
select @AVAILABILITYCODE = case STATUSCODE when 0 then 0 else 2 end
from dbo.SPONSORSHIPLOCATION
where ID = @SPONSORSHIPLOCATIONID
if @@ROWCOUNT = 0
begin
raiserror('BBERR_LOCATIONNOTFOUND',13,1)
return 1
end
begin try
declare @STATUS int = 1;
--Get defaults
declare @STATUSCODE bit = null;
select @STATUSCODE = DEFAULTPROJECTSTATUSCODE from dbo.SPONSORSHIPINFO order by DATEADDED;
insert into dbo.SPONSORSHIPOPPORTUNITY
(ID, SPONSORSHIPOPPORTUNITYGROUPID, SPONSORSHIPLOCATIONID, ELIGIBILITYCODE, AVAILABILITYCODE, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
values
(@ID, @SPONSORSHIPOPPORTUNITYGROUPID, @SPONSORSHIPLOCATIONID, @STATUS, @AVAILABILITYCODE, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE)
insert into dbo.SPONSORSHIPOPPORTUNITYLOCK
(ID,ADDEDBYID,CHANGEDBYID,DATEADDED,DATECHANGED)
values
(@ID,@CHANGEAGENTID,@CHANGEAGENTID,@CURRENTDATE,@CURRENTDATE)
declare @ORGANIZATIONAMOUNT money;
declare @ORGANIZATIONEXCHANGERATEID uniqueidentifier;
declare @ORGANIZATIONCURRENCYID uniqueidentifier = dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY();
if @BASECURRENCYID is null
set @BASECURRENCYID = dbo.UFN_APPUSER_GETBASECURRENCY(@CURRENTAPPUSERID);
if @BASECURRENCYID = @ORGANIZATIONCURRENCYID
begin
set @ORGANIZATIONAMOUNT = @GOAL;
end
else
begin
set @ORGANIZATIONEXCHANGERATEID = dbo.UFN_CURRENCYEXCHANGERATE_GETLATEST(@BASECURRENCYID, @ORGANIZATIONCURRENCYID, @CURRENTDATE, 0, null);
set @ORGANIZATIONAMOUNT = dbo.UFN_CURRENCY_CONVERT(@GOAL, @ORGANIZATIONEXCHANGERATEID);
end
insert into dbo.SPONSORSHIPOPPORTUNITYPROJECT
(ID, NAME, DESCRIPTION, STARTDATE, GOAL, SPONSORGOAL, DESIGNATIONID, SPROPPPROJECTCATEGORYCODEID, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED,BASECURRENCYID,ORGANIZATIONAMOUNT,ORGANIZATIONEXCHANGERATEID)
values
(@ID, @PROJECTNAME, @DESCRIPTION, case @STATUSCODE when 0 then @CURRENTDATE end, @GOAL, @SPONSORGOAL, @DESIGNATIONID, @SPROPPPROJECTCATEGORYCODE, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE,@BASECURRENCYID,@ORGANIZATIONAMOUNT,@ORGANIZATIONEXCHANGERATEID)
--If default status is pending add reasons.
if @STATUSCODE = 1
exec dbo.USP_SPONSORSHIPSETTINGS_GETNEWDEFAULTS 'PROJECT',@ID;
end try
begin catch
exec dbo.USP_RAISE_ERROR
return 1
end catch
return 0