USP_DATAFORMTEMPLATE_EDIT_DESIGNATIONLEVEL_4
The save procedure used by the edit dataform template "Fundraising Purpose Edit Form 3".
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | The input ID parameter indicating the ID of the record being edited. |
@CURRENTAPPUSERID | uniqueidentifier | IN | Input parameter indicating the ID of the current user. |
@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 |
@DESIGNATIONLEVELCATEGORYCODEID | uniqueidentifier | IN | Category |
@ADMINISTRATORID | uniqueidentifier | IN | Administrator |
@STEWARDSHIPPACKAGEPROCESSID | uniqueidentifier | IN | Stewardship package |
@LOOKUPID | nvarchar(100) | IN | Lookup ID |
@DESIGNATIONREPORTCODE1ID | uniqueidentifier | IN | Report code 1 |
@DESIGNATIONREPORTCODE2ID | uniqueidentifier | IN | Report code 2 |
@SITEID | uniqueidentifier | IN | Site |
@VANITYNAME | nvarchar(512) | IN | Public name |
@TIMEPERIODCODE | tinyint | IN | Frequency |
@ISENDOWED | bit | IN | Endowed |
@ISFULLYFUNDED | bit | IN | Fully funded |
@ISINCOMETOPRINCIPAL | bit | IN | Income to principal |
@INCOMETOPRINCIPALPERCENT | decimal(5, 2) | IN | Income to principal % |
@STATEMENTWORDING | nvarchar(1024) | IN | Statement wording |
@ENDOWMENTMINAMOUNT | money | IN | Minimum amount for endowment |
@ENDOWMENTTARGETDATE | date | IN | Target date for endowment |
@ENDOWMENTMINAMOUNTDATEMET | date | IN | Date minimum amount met |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_DESIGNATIONLEVEL_4
(
@ID uniqueidentifier,
@CURRENTAPPUSERID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@NAME nvarchar(100),
@DESCRIPTION nvarchar(255),
@DESIGNATIONLEVELCATEGORYCODEID uniqueidentifier,
@ADMINISTRATORID uniqueidentifier,
@STEWARDSHIPPACKAGEPROCESSID uniqueidentifier,
@LOOKUPID nvarchar(100),
@DESIGNATIONREPORTCODE1ID uniqueidentifier,
@DESIGNATIONREPORTCODE2ID uniqueidentifier,
@SITEID uniqueidentifier,
@VANITYNAME nvarchar(512),
@TIMEPERIODCODE tinyint,
@ISENDOWED bit,
@ISFULLYFUNDED bit,
@ISINCOMETOPRINCIPAL bit,
@INCOMETOPRINCIPALPERCENT decimal(5,2),
@STATEMENTWORDING nvarchar(1024),
@ENDOWMENTMINAMOUNT money,
@ENDOWMENTTARGETDATE date,
@ENDOWMENTMINAMOUNTDATEMET date
)
as
begin
set nocount on;
declare @CURRENTDATE datetime
set @CURRENTDATE = getdate()
if @SITEID is null
begin
if dbo.UFN_SITEREQUIREDFORUSER(@CURRENTAPPUSERID) = 1
begin
raiserror('Site is required.',13,1)
return
end
end
if @STEWARDSHIPPACKAGEPROCESSID is not null and (@TIMEPERIODCODE is null or @TIMEPERIODCODE = 0)
raiserror('Frequency is required.',13,1)
if COALESCE(@ISINCOMETOPRINCIPAL, 0) = 0
set @INCOMETOPRINCIPALPERCENT = 0.00;
declare @BASECURRENCYID uniqueidentifier;
declare @DATEADDED datetime;
declare @CURRENCYEXCHANGERATEID uniqueidentifier;
declare @ORGANIZATIONENDOWMENTMINAMOUNT money;
declare @ORGANIZATIONCURRENCYID uniqueidentifier;
set @ORGANIZATIONCURRENCYID = dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY();
select
@BASECURRENCYID = DESIGNATIONLEVEL.BASECURRENCYID,
@DATEADDED = DESIGNATIONLEVEL.DATEADDED,
@CURRENCYEXCHANGERATEID = DESIGNATIONLEVEL.ORGANIZATIONEXCHANGERATEID
from
dbo.DESIGNATIONLEVEL
where
DESIGNATIONLEVEL.ID = @ID;
if (@ORGANIZATIONCURRENCYID = @BASECURRENCYID)
begin
set @ORGANIZATIONENDOWMENTMINAMOUNT = @ENDOWMENTMINAMOUNT;
end
else
begin
if @CURRENCYEXCHANGERATEID is null
set @CURRENCYEXCHANGERATEID = dbo.UFN_CURRENCYEXCHANGERATE_GETLATEST(@BASECURRENCYID, @ORGANIZATIONCURRENCYID, @DATEADDED, 0, null);
set @ORGANIZATIONENDOWMENTMINAMOUNT = dbo.UFN_CURRENCY_CONVERT(@ENDOWMENTMINAMOUNT, @CURRENCYEXCHANGERATEID);
end
--Check if the designation level site will be putting auction items out of sync
--with their associated auction\event site(s)
declare @PREVIOUSSITEID uniqueidentifier = null;
select @PREVIOUSSITEID = SITEID from dbo.DESIGNATIONLEVEL where ID = @ID
if (@PREVIOUSSITEID is null and @SITEID is not null) or (@PREVIOUSSITEID is not null and @SITEID is null) or (@PREVIOUSSITEID <> @SITEID)
if dbo.UFN_DESIGNATIONLEVEL_SITEVALIDFORLINKEDAUCTIONITEMS(@ID,@SITEID) <> 1
raiserror('BBERR_DESIGNATIONLEVEL_SITENOTVALIDFORAUCTIONITEMS', 13, 1);
begin try
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output
update
dbo.DESIGNATIONLEVEL
set
NAME= @NAME,
DESCRIPTION = @DESCRIPTION,
DESIGNATIONLEVELCATEGORYCODEID = @DESIGNATIONLEVELCATEGORYCODEID,
STEWARDSHIPPACKAGEPROCESSID = @STEWARDSHIPPACKAGEPROCESSID,
ADMINISTRATORID = @ADMINISTRATORID,
USERID = @LOOKUPID,
DESIGNATIONREPORT1CODEID = @DESIGNATIONREPORTCODE1ID,
DESIGNATIONREPORT2CODEID = @DESIGNATIONREPORTCODE2ID,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE,
SITEID = @SITEID,
VANITYNAME = @VANITYNAME,
TIMEPERIODCODE = coalesce(@TIMEPERIODCODE,0),
ISENDOWED = @ISENDOWED,
ISFULLYFUNDED = @ISFULLYFUNDED,
ISINCOMETOPRINCIPAL = @ISINCOMETOPRINCIPAL,
INCOMETOPRINCIPALPERCENT = @INCOMETOPRINCIPALPERCENT,
STATEMENTWORDING = @STATEMENTWORDING,
ENDOWMENTMINAMOUNT = @ENDOWMENTMINAMOUNT,
ORGANIZATIONENDOWMENTMINAMOUNT = @ORGANIZATIONENDOWMENTMINAMOUNT,
ENDOWMENTTARGETDATE = @ENDOWMENTTARGETDATE,
ENDOWMENTMINAMOUNTDATEMET = @ENDOWMENTMINAMOUNTDATEMET,
ORGANIZATIONEXCHANGERATEID = @CURRENCYEXCHANGERATEID
where
ID = @ID;
--update the associated hierarchy root if it exists
--update
-- dbo.DESIGNATION
--set
-- USERID = @LOOKUPID,
-- DESIGNATIONREPORT1CODEID = @DESIGNATIONREPORTCODE1ID,
-- DESIGNATIONREPORT2CODEID = @DESIGNATIONREPORTCODE2ID,
-- CHANGEDBYID = @CHANGEAGENTID,
-- DATECHANGED = @CURRENTDATE
--where DESIGNATIONLEVEL1ID = @ID
-- and DESIGNATIONLEVEL2ID is null;
end try
begin catch
exec dbo.USP_RAISE_ERROR
return 1
end catch
return 0
end