USP_DATAFORMTEMPLATE_ADD_FACULTY
The save procedure used by the add dataform template "Faculty Add Form".
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | INOUT | The output parameter indicating the ID of the record added. |
@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. |
@LASTNAME | nvarchar(100) | IN | Last name |
@FIRSTNAME | nvarchar(50) | IN | First name |
@MIDDLENAME | nvarchar(50) | IN | Middle name |
@NICKNAME | nvarchar(50) | IN | Nickname |
@SUFFIXCODEID | uniqueidentifier | IN | Suffix |
@SUFFIX2CODEID | uniqueidentifier | IN | Suffix 2 |
@ADDRESS_ADDRESSTYPECODEID | uniqueidentifier | IN | Address type |
@ADDRESS_DONOTMAIL | bit | IN | Do not send mail to this address |
@ADDRESS_COUNTRYID | uniqueidentifier | IN | Country |
@ADDRESS_STATEID | uniqueidentifier | IN | State |
@ADDRESS_ADDRESSBLOCK | nvarchar(150) | IN | Address |
@ADDRESS_CITY | nvarchar(50) | IN | City |
@ADDRESS_POSTCODE | nvarchar(12) | IN | ZIP |
@PHONE_PHONETYPECODEID | uniqueidentifier | IN | Phone type |
@PHONE_NUMBER | nvarchar(100) | IN | Phone number |
@EMAILADDRESS_EMAILADDRESSTYPECODEID | uniqueidentifier | IN | Email type |
@EMAILADDRESS_EMAILADDRESS | UDT_EMAILADDRESS | IN | Email address |
@SKIP_ADDING_SECURITYGROUPS | bit | IN | Skip adding security groups |
@ADDRESS_OMITFROMVALIDATION | bit | IN | Omit this address from validation |
@ADDRESS_CART | nvarchar(10) | IN | |
@ADDRESS_DPC | nvarchar(8) | IN | |
@ADDRESS_LOT | nvarchar(5) | IN | |
@ADDRESS_COUNTYCODEID | uniqueidentifier | IN | |
@ADDRESS_CONGRESSIONALDISTRICTCODEID | uniqueidentifier | IN | |
@ADDRESS_LASTVALIDATIONATTEMPTDATE | datetime | IN | |
@ADDRESS_VALIDATIONMESSAGE | nvarchar(100) | IN | |
@ADDRESS_CERTIFICATIONDATA | int | IN | |
@SKIP_ADDING_SITES | bit | IN | Skip adding sites |
@ADDRESS_DONOTMAILREASONCODEID | uniqueidentifier | IN | Reason |
@GENDERCODE | tinyint | IN | Gender |
@BIRTHDATE | UDT_FUZZYDATE | IN | Birth date |
@FACULTYSTATUSCODEID | uniqueidentifier | IN | Status |
@HIREDONDATE | date | IN | Hire date |
@ACADEMICCATALOGDEPARTMENTID | uniqueidentifier | IN | Department |
@ISDEPARTMENTHEAD | bit | IN | Faculty is department head |
@ISTEACHERINDEPARTMENT | bit | IN | Faculty teaches in department |
@TITLECODEID | uniqueidentifier | IN | Title |
@TITLE2CODEID | uniqueidentifier | IN | Title 2 |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_FACULTY
(
@ID uniqueidentifier = null output,
@CURRENTAPPUSERID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@LASTNAME nvarchar(100),
@FIRSTNAME nvarchar(50) = '',
@MIDDLENAME nvarchar(50) = '',
@NICKNAME nvarchar(50) = '',
@SUFFIXCODEID uniqueidentifier = null,
@SUFFIX2CODEID uniqueidentifier = null,
@ADDRESS_ADDRESSTYPECODEID uniqueidentifier = null,
@ADDRESS_DONOTMAIL bit = 0,
@ADDRESS_COUNTRYID uniqueidentifier = null,
@ADDRESS_STATEID uniqueidentifier = null,
@ADDRESS_ADDRESSBLOCK nvarchar(150) = '',
@ADDRESS_CITY nvarchar(50) = '',
@ADDRESS_POSTCODE nvarchar(12) = '',
@PHONE_PHONETYPECODEID uniqueidentifier = null,
@PHONE_NUMBER nvarchar(100) = '',
@EMAILADDRESS_EMAILADDRESSTYPECODEID uniqueidentifier = null,
@EMAILADDRESS_EMAILADDRESS dbo.UDT_EMAILADDRESS = '',
@SKIP_ADDING_SECURITYGROUPS bit=0,
@ADDRESS_OMITFROMVALIDATION bit = 0,
@ADDRESS_CART nvarchar(10) = '',
@ADDRESS_DPC nvarchar(8) = '',
@ADDRESS_LOT nvarchar(5) = '',
@ADDRESS_COUNTYCODEID uniqueidentifier = null,
@ADDRESS_CONGRESSIONALDISTRICTCODEID uniqueidentifier = null,
@ADDRESS_LASTVALIDATIONATTEMPTDATE datetime = null,
@ADDRESS_VALIDATIONMESSAGE nvarchar(100) = '',
@ADDRESS_CERTIFICATIONDATA integer = 0,
@SKIP_ADDING_SITES bit = 0,
@ADDRESS_DONOTMAILREASONCODEID uniqueidentifier = null,
@GENDERCODE tinyint = 0,
@BIRTHDATE dbo.UDT_FUZZYDATE = '00000000',
@FACULTYSTATUSCODEID uniqueidentifier = null,
@HIREDONDATE date = null,
@ACADEMICCATALOGDEPARTMENTID uniqueidentifier = null,
@ISDEPARTMENTHEAD bit = 0,
@ISTEACHERINDEPARTMENT bit = 1,
@TITLECODEID uniqueidentifier = null,
@TITLE2CODEID uniqueidentifier = null
)
as
set nocount on;
if @ID is null
set @ID = newid();
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output
if @ADDRESS_DONOTMAIL = 0
set @ADDRESS_DONOTMAILREASONCODEID = null
declare @CURRENTDATE datetime
set @CURRENTDATE = getdate()
begin try
-- handle inserting the data
insert into dbo.CONSTITUENT
(
[ID],
[ISORGANIZATION],
[KEYNAME],
[FIRSTNAME],
[MIDDLENAME],
[NICKNAME],
[SUFFIXCODEID],
[SUFFIX2CODEID],
[TITLECODEID],
[TITLE2CODEID],
[GENDERCODE],
[BIRTHDATE],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED])
values
(@ID,
0,
@LASTNAME,
@FIRSTNAME,
@MIDDLENAME,
@NICKNAME,
@SUFFIXCODEID,
@SUFFIX2CODEID,
@TITLECODEID,
@TITLE2CODEID,
@GENDERCODE,
@BIRTHDATE,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE);
if
(
(@ADDRESS_STATEID is not null)
or (coalesce(@ADDRESS_ADDRESSBLOCK,'') <> '')
or (coalesce(@ADDRESS_CITY,'') <> '')
or (coalesce(@ADDRESS_POSTCODE,'') <> '')
or (@ADDRESS_ADDRESSTYPECODEID is not null)
or (@ADDRESS_COUNTRYID is not null)
or (@ADDRESS_DONOTMAIL = 1)
or (@ADDRESS_DONOTMAILREASONCODEID is not null)
)
begin
declare @ADDRESSID uniqueidentifier;
set @ADDRESSID = newID();
insert into dbo.[ADDRESS]
(
[ID],
[CONSTITUENTID],
[ADDRESSTYPECODEID],
[ISPRIMARY],
[DONOTMAIL],
[COUNTRYID],
[STATEID],
[ADDRESSBLOCK],
[CITY],
[POSTCODE],
[CART],
[DPC],
[LOT],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED],
[DONOTMAILREASONCODEID]
)
values
(
@ADDRESSID,
@ID,
@ADDRESS_ADDRESSTYPECODEID,
1,
@ADDRESS_DONOTMAIL,
@ADDRESS_COUNTRYID,
@ADDRESS_STATEID,
@ADDRESS_ADDRESSBLOCK,
@ADDRESS_CITY,
@ADDRESS_POSTCODE,
@ADDRESS_CART,
@ADDRESS_DPC,
@ADDRESS_LOT,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE,
@ADDRESS_DONOTMAILREASONCODEID
);
insert into dbo.ADDRESSVALIDATIONUPDATE
(
[ID],
[COUNTYCODEID],
[CONGRESSIONALDISTRICTCODEID],
[LASTVALIDATIONATTEMPTDATE],
[VALIDATIONMESSAGE],
[CERTIFICATIONDATA],
[OMITFROMVALIDATION],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED]
)
values
(
@ADDRESSID,
@ADDRESS_COUNTYCODEID,
@ADDRESS_CONGRESSIONALDISTRICTCODEID,
@CURRENTDATE,
@ADDRESS_VALIDATIONMESSAGE,
@ADDRESS_CERTIFICATIONDATA,
@ADDRESS_OMITFROMVALIDATION,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
);
end
/*Start Primary Phone */
if (@PHONE_PHONETYPECODEID is not null) or (coalesce(@PHONE_NUMBER,'') <> '')
begin
insert into dbo.[PHONE]
(
[CONSTITUENTID],
[PHONETYPECODEID],
[NUMBER],
[ISPRIMARY],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED],
[COUNTRYID]
)
values
(
@ID,
@PHONE_PHONETYPECODEID,
@PHONE_NUMBER,
1,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE,
@ADDRESS_COUNTRYID
);
end
/*End Primary Phone */
/*Start Primary Email Address */
if (@EMAILADDRESS_EMAILADDRESSTYPECODEID is not null) or (coalesce(@EMAILADDRESS_EMAILADDRESS,'') <> '')
begin
insert into dbo.[EMAILADDRESS]
(
[CONSTITUENTID],
[EMAILADDRESSTYPECODEID],
[EMAILADDRESS],
[ISPRIMARY],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED]
)
values
(
@ID,
@EMAILADDRESS_EMAILADDRESSTYPECODEID,
@EMAILADDRESS_EMAILADDRESS,
1,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
);
end
/*End Primary Email Address */
/*Start security groups*/
if COALESCE(@SKIP_ADDING_SECURITYGROUPS,0) = 0
BEGIN
exec dbo.USP_CONSTITUENT_ASSIGNSECURITYGROUPS_FORNEWRECORD
@APPUSERID =@CURRENTAPPUSERID,
@DATAFORMTEMPLATEID='B4A8C2CB-FE50-4c50-A587-DC3C409B0E6A',
@CONSTITUENTID =@ID,
@DATEADDEDTOUSE =@CURRENTDATE,
@CHANGEAGENTID = @CHANGEAGENTID;
END
/*end security groups*/
if coalesce(@SKIP_ADDING_SITES,0) = 0
exec dbo.USP_CONSTITUENT_ASSIGNSITES_FORNEWRECORD
@APPUSERID = @CURRENTAPPUSERID,
@DATAFORMTEMPLATEID = 'B4A8C2CB-FE50-4c50-A587-DC3C409B0E6A',
@CONSTITUENTID = @ID,
@DATEADDEDTOUSE = @CURRENTDATE,
@CHANGEAGENTID = @CHANGEAGENTID;
/*Start name format defaults*/
INSERT INTO [dbo].[NAMEFORMAT]
([CONSTITUENTID]
,[NAMEFORMATTYPECODEID]
,[NAMEFORMATFUNCTIONID]
,[ADDEDBYID]
,[CHANGEDBYID]
,[DATEADDED]
,[DATECHANGED]
,[PRIMARYADDRESSEE]
,[PRIMARYSALUTATION]
,[SEQUENCE])
SELECT
@ID
,NFD.NAMEFORMATTYPECODEID
,NFD.NAMEFORMATFUNCTIONID
,@CHANGEAGENTID
,@CHANGEAGENTID
,@CURRENTDATE
,@CURRENTDATE
,NFD.PRIMARYADDRESSEE
,NFD.PRIMARYSALUTATION
,(select count(ID)
from dbo.NAMEFORMATDEFAULT as SUBNFD
where NFD.ID > SUBNFD.ID
and NFD.APPLYTOCODE = SUBNFD.APPLYTOCODE)
FROM dbo.NAMEFORMATDEFAULT as NFD
WHERE NFD.APPLYTOCODE = 0
/*End name format defaults*/
insert into dbo.FACULTY
(ID, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED, FACULTYSTATUSCODEID, HIREDONDATE)
values
(@ID, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE, @FACULTYSTATUSCODEID, @HIREDONDATE);
if @ACADEMICCATALOGDEPARTMENTID is not null
exec dbo.USP_DATAFORMTEMPLATE_ADD_FACULTYACADEMICCATALOGDEPARTMENT_BYDEPARTMENT null,
@ACADEMICCATALOGDEPARTMENTID,
@CHANGEAGENTID,
@ID,
@ISDEPARTMENTHEAD,
@ISTEACHERINDEPARTMENT,
1 -- add as primary
end try
begin catch
exec dbo.USP_RAISE_ERROR
return 1
end catch
return 0