UFN_FACULTY_GETOTHERCLASSESWITHOUTCATEGORIES
Returns the classes without categories for a given faculty member
Return
Return Type |
---|
table |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@CURRENTAPPUSERID | uniqueidentifier | IN | |
@CLASSID | uniqueidentifier | IN |
Definition
Copy
create function dbo.UFN_FACULTY_GETOTHERCLASSESWITHOUTCATEGORIES
(
@CURRENTAPPUSERID uniqueidentifier,
@CLASSID uniqueidentifier
)
returns @CLASSES table(
ID uniqueidentifier null,
NAME nvarchar(100) not null,
COURSEID uniqueidentifier not null,
ISPARENTROW bit not null
)
as
begin
declare @FACULTYID uniqueidentifier = (select CONSTITUENTID from dbo.APPUSER where ID = @CURRENTAPPUSERID)
declare @ACADEMICYEARNAMECODEID uniqueidentifier
declare @SESSIONNAMECODEID uniqueidentifier
select
@SESSIONNAMECODEID=SESSIONNAMECODEID,
@ACADEMICYEARNAMECODEID=ACADEMICYEARNAMECODEID
from
dbo.SESSION
inner join dbo.ACADEMICYEAR on SESSION.ACADEMICYEARID = ACADEMICYEAR.ID
inner join dbo.GRADINGAPPUSERSESSION on SESSION.ID = GRADINGAPPUSERSESSION.SESSIONID
where
GRADINGAPPUSERSESSION.ID = @CURRENTAPPUSERID
insert into @CLASSES
(
ID,
NAME,
COURSEID,
ISPARENTROW
)
select
DISTINCT CLASSID,
T1.NAME,
CLASS.COURSEID,
0
from
dbo.UFN_FACULTY_GETCLASSMEETINGGROUPS
(
@FACULTYID,
@ACADEMICYEARNAMECODEID,
@SESSIONNAMECODEID,
null
) T1
inner join dbo.CLASS on T1.CLASSID = CLASS.ID
where
not exists(select ID from dbo.CLASSCATEGORY where CLASSID = T1.CLASSID)
and CLASSID <> @CLASSID
update
CL
set
ISPARENTROW = 1
from
@CLASSES CL
where
(select COUNT(ID) from @CLASSES where CL.COURSEID = COURSEID) = 1
insert into @CLASSES
(
NAME,
COURSEID,
ISPARENTROW
)
select
DISTINCT COURSE.COURSEID,
CL.COURSEID,
1
from
@CLASSES CL
inner join dbo.COURSE on CL.COURSEID = COURSE.ID
where
ISPARENTROW = 0
return
end