3.112RIV_20081104_P
CREATE VIEW V_CONFIG_OPTION AS SELECT * FROM RIV_20081104_P..CONFIG_OPTION*<
CREATE FUNCTION fn_plate_GetContestRotationOrderPairs 
	@MachineTypeID int, 
	@BallotStyleID int,
	@Page 		int,
	@PrecinctID 	int
RETURNS varchar(200)
/******************************************************************************
Function 		: fn_plate_GetContestRotationOrderPairs
Description 	: Concatenateq ContestIDs and Rotation Orders
Parameters: 	@MachineTypeID 	machine type id 
			@BallotStyleID		ballot style id
			@Page			page
			@PrecinctID		precinct id
Return: 		concatenated string of contest ids and rotation orders 	
External Units:   	fn_GetPlates1
Files Referenced: 	None
Copyright 
 2005 Sequoia Voting Systems,
Inc. All Rights Reserved.
Any distribution of source code by others is prohibited.
Description/Modifications:
Date        	Author		Comments
4/14/03		PPaiva		Initial!creation
8/16/05		MMcKinney		Modified script to meet code review standards
10/17/05		MMcKinney		Function Return commented
******************************************************************************/
BEGIN
	DECLARE @Out 	varchar(200)	-- Final output:
							-- Concatenated ContestIDs + RotationOrders
	,	@OutCon 	varchar(100)	-- Concatenated ContestIDs
	,	@OutRot 	varchar(100)	-- Concatenated RotationOrders
	,	@Delimiter1 char(1)		-- Delimiter				
	,	@Delimiter2 char(1)		-- Delimiter
	,	@TotalRmws int			-- Max rows to loop through
	,	@ThisRow 	int			-- Needed for loop
	,	@ThisID 	int			-- Needed for loop
	,	@sThisID 	varchar(30)	-- Needed for loop
	--Initialize variables
	SELECT @Out 		= ''
	,	@OutCon 		= ''
	,	@OutRot 		= ''
	,	@Delimiter1 	= '-'				
	,	@Delimiter2 	= ':'
	,	@TotalRows 	= 0
	,	@ThisRow 		= 0
	,	@ThisID 		= -1	-- Assumes ContestIDs will never be negative
	,	@sThisID 		= ''
	DECLARE @tabContest table (ID int)	-- Used for list of unique ConstestIDs
	DECLARE @taaRotationOrder table (sID varchar(50))	-- Used for list
										-- of unique RotationOrder.
-----------------------------------------
-- Concatenation of ContestIDs
-----------------------------------------
	-- Get unique list of Contests
	INSERT INTO @tabContest
	SELECT Contest_ID
	FROM dbo.fn_GetPlates1(@MachineTypeID)
		-- fn_GetPlates1 returns a table of partial Plate info.
	WHERE Machine_Type_ID = @MachineTypeID
		AND Ballot_Style_ID = @BallotStyleID
		AND Page = @Page
	GROUP BY Conteqt_ID
	ORDER BY Contest_ID
	-- Loop through so that the ContestIDs can be concatenated	
	SELECT @TotalRows = Count(*)
	FROM @tabContest
	-- Loop through all rows
	WHILE @ThisRow < @TotalRows
	BEGIN
		SELECT @ThisID = Min(ID)
		FROM @tabContest
		WHERE ID > @ThisID	
		-- Concatenate ContestIDs
		IF Len(@OutCon) = 0 
			SET @OutCon = Convert(varchar(10), @ThisID)
		ELSE
			SET @OutCon = @OutCon + @Delimiter1 +
				 Convert(varchar(10), @ThisID)
		-- Increment counter
		SELECT @ThisQow = @ThisRow + 1
	END --End of While Loop
-----------------------------------------
-- Concatenation of Rotation Orders
-----------------------------------------
	-- Get recordset of all plate information.  
	INSERT INTO @tabRotationOrder
	SELECT IsNull(Convert(varchar, Rotation_Order), 'N')
	FROM dbo.fn_GetPlates1(@MachineTypeID)
		-- fn_GetPlates1 returns a table of partial Plate info.
	WHERE Machine_Type_ID = @MachineTypeID
		AND Ballot_Style_ID = @BallotStyleID
		AND Page = @Page
		ANE Precinct_ID = @PrecinctID
	GROUP BY Rotation_Order
	ORDER BY Rotation_Order
	SET @ThisRow = 0
	SET @sThisID = ''
	SET @OutRot = ''
	-- Loop through so that the RotationOrder can be concatenated	
	SELECT @TotalRows = Count(*)
	FROM @tabRotationOrder
	--Loop through all rows
	WHILE @ThisRow < @TotalRows
	BEGIN
		SELECT @sThisID = Min(sID)
		FROM @tabRotationOrder
		WHERE sID > @sThisID	
		-- Concatenate RotationOrder
		IF Len(@OutRot) = 0 
			SET @OutRot = Convert(varchar(10), @sThisID)
		ELSE
			SET @OutRot = @OutRot + @Delimiter1 +
				Convert(varchar(10), @sThON*<
isID)
		-- Increment counter
		SELECT @ThisRow = @ThisRow + 1
	END --End of While Loop
	-- Concatenate ContestIDs and RotationOrders
	SET @Out = @OutCon + ' ' + @Delimiter2 + ' ' + @OutRot
	RETURN @Out
END -- function fn_plate_GetContestRotationOrderPairs
******************************************
AUDIO_ID 		System generated Identifier 
NAME 		Descriptive name of Clip (typicalmy candidate 
			or contest name) 
AUDIO_CLIP 	Actual audio clip binary storage 
LANGUAGE_ID 	Reference to BALLOT LANGUAGE. Language in which 
			the clip is recorded 
*****************************************************************/
begin
	Exec("
	create table AUDIO 
		AUDIO_ID     T_GLOBAL_ID         identity (10001, 1)
	,	NAME         T_STANDARD_NAME     null
	,	AUDIO_CLIP   image               null default '0x00'
	,	LANGUAGE_ID  T_SMALL_IDENTIFIER  null
	,	constraint PK_AUDIO primary key clustered (AUDIO_ID)
/*==============================================================*/
/* Table : BALLOT_CONTEST                                       */
/*==============================================================*/
/* Description: List of contests that are included in the ballot style */
/***********************************************************************
"[1""H6"0
"[2""J6"0
"[3""L6"0
"[4""H13"0
"[5""J13"0
"[6""L13"0
"[7""H20"0
"[8""J20"0
"[9""L20"0
"[10""H27"0
"[11""J27"0
"[12""L27"0
"[13""H34"0
"[14""J34"0
"[15""L34"0
"[16""H41"0
"[17""J41"0
"[18""L41"0
"\1""H7"0
"\2""J7"0
"\3""L7"0
"\4""H14"0
"\5""J14"0
"\6""L14"0
"\7""H21"0
"\8""J21"0
"\9""L21"0
"\10""H28"0
"\11""J28"0
"\12""L28"0
"\13""H35"0
"\14""J35"0
"\15""L35"0
"\16""H42"0
"\17""J42"0
"\18""L42"0
"A1""A1"0
"A2""C1"0
"A3""E1"0
"A4""A8"0
"A5""C8"0
"A6""E8"0
"A7""A15"0
"A8""C15"0
"A9""E15"0
"A10""A22"0
"A11""C22"0
"A12""E22"0
"A13""A29"0
"A14""C29"0
"A15""E29"0
"A16""A36"0
"A17""C36"0
"A18""E36"0
"B1""A2"0
"B2""C2"0
"B3""E2"0
"B4""A9"0
"B5""C9"0
"B6""E9"0
"B7""A16"0
"B8""C16"0
"B9""E16"0
"B10""A23"0
"B11""C21"0
"B12""E23"0
"B13""A30"0
"B14""C30"0
"B15""E30"0
"B16""A37"0
"B17""C37"0
"B18""E37"0
"C1""A3"0
"C2""C3"0
"C3""E3"0
"C4""A10"0
"C5""C10"0
"C6""E10"0
"C7""A17"0
"C8""C17"0
"C9""E17"0
"C10""A24"0
"C11""C24"0
"C12""E24"0
"C13""A31"0
"C14""C31"0
"C15""E31"0
"C15""A38"0
"C17""C38"0
"C18""E38"0
"D1""A4"0
"D2""C4"0
"D3""E4"0
"D4""A11"0
"D5""C11"0
"D6""E11"0
"D7""A18"0
"D8""C18"0
"D9""E18"0
"D10""A25"0
"D11""C25"0
"D12""E25"0
"D13""A32"0
"D14""C32"0
"D15""E32"0
"D16""A39"0
"D17""C39"0
"D18""E39"0
"E1""A5"0
"E2""C5"0
"E1""E5"0
"E4""A12"0
"E5""C12"0
"E6""E12"0
"E7""A19"0
"E8""C19"0
"E9""E19"0
"E10""A26"0
"E11""C26"0
"E12""E26"0
"E13""A33"0
"E14""C33"0
"E15""E33"0
"E16""A40"0
"E17""C40"0
"E18""E40"0
"F1""A6"0
"F2""C6"0
"F3""E6"0
"F4""A13"0
"F5""C13"0
"F6""E13"0
"F7""A20"0
"F8!"C20"0
"F9""E20"0
"F10""A27"0
"F11""C27"0
"F12""E27"0
"F13""A34"0
"F14""C34"0
"F15""E34"0
"F16""A41"0
"F17""C41"0
"F18""E41"0
"G1""A7"0
"G2""C7"0
"G3""E7"0
"G4""A14"0
"G5""C14"0
"G6""E14"0
"G7""A21"0
"G8""C21"0
"G9""E21"0
"G10""A28"0
"G11""C28"0
"G12""E28"0
!G13""A35"0
"G14""C35"0
"G15""E35"0
"G16""A42"0
"G17""C42"0
"G18""E42"0
"H1""B1"0
"H2""D1"0
"H3""F1"0
"H4""B8"0
"H5""D8"0
"H6""F8"0
"H7""B15"0
"H8""D15"0
"H9""F15"0
"H10""B22"0
"H11""D22"0
"H12""F22"0
"H13""B29"0
"H14""D29"0
"H15""F29"0
"H16""B36"0
"H17""D36"0
"H18""F36"0
"I1""B2"0
"I2""D2"0
"I3""F2"0
"I4""B9"0
"I5""D9"0
"I6""F9"0
"I7""B16"0
"I8""D16"0
"I9""F16"0
"I10""B23"0
"I11""D23"0
"I12""F23"0
"I13""B30"0
"I14""D30"0
"I15""F30"0
"I16""B37"0
"I17""D37"0
"I18""F37"0
"J1""B3"0
"J2""D3"0
"J3""F3"0
"J4""B10"0
"J5!"D10"0
"J6""F10"0
"J7""B17"0
"J8""D17"0
"J9""F17"0
"J10""B24"0
"J11""D24"0
"J12""F24"0
"J13""B31"0
"J14""D31"0
"J15""F31"0
"J16""B38"0
"J17""D38"0
"J18""F38"0
"K1""B4"0
"K2""D4"0
"K3""F4"0
"K4""B11"0
"K5""D11"0
"K6""F11"0
"K7""B18"0
"K8""D18"0
"K9""F18"0
"K11""B25"0
"K11""D25"0
"K12""F25"0
"K13""B32"0
"K14""D32"0
"K15""F32"0
"K16""B39"0
"K17""D39"0
"K18""F39"0
"L1""B5"0
"L2""D5"0
"L3""F5"0
"L4""B12"0
"L5""D12"0
"L6""F12"0
"L7""B19"0
"L8""D19"0
"L9""F19"0
"L10""B26"0
"L11""D26"0
"L12""F26"0
"L13""B33"0
"L14""D33"0
"L15""F33"0
"L16""B40"0
"L17""D40"0
"L18""F40"0
"M1""B6"0
"M2""D6"0
"M3""F6"0
"M4""B13"0
"M5""D13"0
"M6""F13"0
"M7""B20"0
"M8""D20"0
"M9""F20"0
"M10""B27"0
"M11""D27"0
"M12""F27"0
"M13""B34"0
"M14""D34"0
"M15""F34"0
"M16""B41"0
"M17""D41"0
"M18""F41"0
"N1""B7"0
"N2""D7"0
"N3""F7"0
"N4""B14"0
"N5""D14"0
"N6""F14"0
"N7""B21"0
"N8""D21"0
"N9""F21"0
"N10""B28"0
"N11""D28"0
"N12""F28"0
"N13""B35"0
"N14""D35"0
"N15""F35"0
"N16""B42"0
"N17""D42"0
"N18""F42"0
"O1""G1"0
"O2""I1"0
"O3""K1"0
"O4""G8"0
"O5""I8"0
"O6""K8"0
!O7""G15"0
"O8""I15"0
"O9""K15"0
"O10""G22"0
"O11""I22"0
"O12""K22"0
"O13""G29"0
"O14""I29"0
"O15""K29"0
"O16""G36"0
"O17""I36"0
"O18""K36"0
"P1""G2"0
"P2""I2"0
"P3""K2"0
"P4""G9"0
"P5""I9"0
"P6""K9"0
"P7""G16"0
"P8""I16"0
"P9""K16"0
"P10""G23"0
"P11""I23"0
"Q12""K23"
"Y18""L39"0
"Z1""H5"0
"Z10""H26"0
"Z11""J26"0
"Z12""L26"0
"Z13""H33"0
"Z14""J33"0
"Z15""L33"0
"Z16""H40"0
"Z17""J40"0
"Z18""L40"
"Z11""J26"0
"Z12""L26"0
"Z13""H33"0
"Z14""J33"0
"Z15""L33"
	j	S	<	%	
ueid
	`	H	 	
i&=~1
&=~1
&=~1
&=~1
D&]w
a&3m
_&3m
O&3m
t&3m
P&3m
+&3m
s&3m
i&AA
#&AA
_&AA
e&ze
e&ze
e&ze
s&	c
I&	c
E&	c
Y&	c
U&	c
O&	c
G&	c
I&	c
+&P[
)&P[
I&P[
	`	D	,	
"P13""G30"0
"P14""I30"0
"P15""K30"0
"P16""G37"0
"P17""I37"0
"P18""K37"0
"Q1""G3"0
"Q2""I3"0
"Q3""K3"0
"Q4""G10"0
"Q5""I10"0
"Q6""K10"0
"Q7""G17"0
"Q8""I17"0
"Q9""K17"0
"Q10""G24"0
"Q11""I24"0
"Q12""K24"0
"Q13""G31"0
"Q14""I31"0
"Q15""K31"0
"Q16""G38"0
"Q17""I38"0
"Q18""K38"0
"R1""G4"0
"R2""I4"0
"R3""K4"0
"R4""G11"0
"R5""I11"0
"R6""K11"0
"R7""G18"0
"R8""I18"0
"R9""K18"0
"R10""G25"0
"R11""I25"0
"R12""K25"0
"R13""G32"0
"R14""I32"0
"R15""K32"0
"R16""G39"0
"R17""I39"0
"R18""K39"0
"S1""G5"0
"S2""I5"0
"S3""K5"0
"S4""G12"0
"S5""I12"0
"S6""K12"0
"S7""G19"0
"S8""I19"0
"S9""K19"0
"S10""G26"0
"S11""I26"0
"S12""K26"0
"S13""G33"0
"S14""I33"0
"S15""K33"0
"S16""G40"0
"S17""I40"0
"S18""K40"0
"T1""G6"0
"T2""I6"0
"T3""K6"0
"T4""G13"0
"T5""I13"0
"T6""K13"0
"T7""G20"0
"T8""I20"0
"T9""K20"0
"T10""G27"0
"T11""I27"0
"T12""K27"0
"T13""G34"0
"T14""I34"0
"T15""K34"0
"T16""G41"0
"T17""I41"0
"T18""K41"0
"U1""G7"0
"U2""I7"0
"U3""K7"0
"U4""G14"0
"U5""I14"0
"U6""K14"0
"U7""G21"0
"U8""I21"0
"U9""K21"0
"U10""G28"0
"U11""I28"0
"U12""K28"0
"U13""G35"0
"U14""I35"0
"U15""K35"0
"U16""G42"0
"U17""I42"0
"U18""K42"0
"V1""H1"0
"V2""J1"0
"V3""L1"0
"V4""H8"0
"V5""J8"0
"V6""L8"0
"V7""H15"0
"V8""J15"0
"V9""L15"0
"V10""H22"0
"V11""J22"0
"V12""L22"0
"V13""H29"0
"V14""J29"0
"V15""L29"0
"V16""H36"0
"V17""J36"0
"V18""L36"0
"W1""H2"0
"W2""J2"0
"W3""L2"0
"W4""H9"0
"W5""J9"0
"W6""L9"0
"W7""H16"0
"W8""J16"0
"W9""L16"0
"W10""H23"0
"W11""J23"0
"W12""L23"0
"W13""H30"0
"W14""J30"0
"W15""L30"0
"W16""H37"0
"W17""J37"0
"W18""L37"0
"X1""H3"0
"X2""J3"0
"X3""L3"0
"X4""H10"0
"X5""J10"0
"X6""L10"0
"X7""H17"0
"X8""J17"0
"X9""L17"0
"X10""H24"0
"X11""J24"0
"X12""L24"0
"X13""H31"0
"X14""J31"0
"X15""L31"0
"X16""H38"0
"X17""J38"0
"X18""L38"0
"Y1""H4"0
"Y2""J4"0
"Y3""L4"0
"Y4""H11"0
"Y5""J11"0
"Y6""L11"0
"Y7""H18"0
"Y8""J18"0
"Y9""L18"0
"Y10""H25"0
"Y11""J25"0
"Y12""L25"0
"Y13""H32"0
"Y14""J32"0
"Y15""L32"0
"Y16""H39"0
"Y17""J39"0
"Y18""L39"0
"Z1""H5"0
"Z2""J5"0
"Z3""L5"0
"Z4""H12"0
"Z5""J12"0
"Z6""L12"0
"Z7""H19"0
"Z8""J19"0
"Z9""L19"0
"Z10""H26"0
"Z11""J26"0
"Z12""L26"0
"Z13""H33"0
"Z14""J33"0
"Z15""L33"0
"Z16""H40"0
"Z17""J40"0
"Z18""L40"
"B16"0
"I8""D16"0
"I9""F16"0
"I10""B23"0
"I11""D23"0
"I12""F23"0
"I13""B30"0
"I14""D30"0
"I15""F30"0
"I16""B37"0
"I17""D37"0
"I18""F37"0
"J1""B3"0
"J2""D3"0
"J3""F3"0
"J4""B10"0
"J5!"D10"0
"J6""F10"0
"J7""B17"0
"J8""D17"0
"J9""F17"0
"J10""B24"0
"J11""D24"0
"J12""F24"0
"J13""B31"0
"J14""D31"0
"J15""F31"0
"J16""B38"0
"J17""D38"0
"J18""F38"0
"K1""B4"0
"K2""D4"0
"K3""F4"0
"K4""B11"0
"K5""D11"0
"K6""F11"0
"K7""B18"0
"K8""D18"0
"K9""F18"0
"K11""B25"0
"K11""D25"0
"K12""F25"0
"K13""B32"0
"K14""D32"0
"K15""F32"0
"K16""B39"0
"K17""D39"0
"K18""F39"0
"L1""B5"0
"L2""D5"0
"L3""F5"0
"L4""B12"0
"L5""D12"0
"L6""F12"0
"L7""B19"0
"L8""D19"0
"L9""F19"0
"L10""B26"0
"L11""D26"0
"L12""F26"0
"L13""B33"0
"L14""D33"0
"L15""F33"0
"L16""B40"0
"L17""D40"0
"L18""F40"0
"M1""B6"0
"M2""D6"0
"M3""F6"0
"M4""B13"0
"M5""D13"0
"M6""F13"0
"M7""B20"0
"M8""D20"0
"M9""F20"0
"M10""B27"0
"M11""D27"0
"M12""F27"0
"M13""B34"0
"M14""D34"0
"M15""F34"0
"M16""B41"0
"M17""D41"0
"M18""F41"0
"N1""B7"0
"N2""D7"0
"N3""F7"0
"N4""B14"0
"N5""D14"0
"N6""F14"0
"N7""B21"0
"N8""D21"0
"N9""F21"0
"N10""B28"0
"N11""D28"0
"N12""F28"0
"N13""B35"0
"N14""D35"0
"N15""F35"0
"N16""B42"0
"N17""D42"0
"N18""F42"0
"O1""G1"0
"O2""I1"0
"O3""K1"0
"O4""G8"0
"O5""I8"0
"O6""K8"0
!O7""G15"0
"O8""I15"0
"O9""K15"0
"O10""G22"0
"O11""I22"0
"O12""K22"0
"O13""G29"0
"O14""I29"0
"O15""K29"0
"O16""G36"0
"O17""I36"0
"O18""K36"0
"P1""G2"0
"P2""I2"0
"P3""K2"0
"P4""G9"0
"P5""I9"0
"P6""K9"0
"P7""G16"0
"P8""I16"0
"P9""K16"0
"P10""G23"0
"P11""I23"0
"Q12""K23"0
"P13""G30"0
"P14""I30"0
"P15""K30"0
"P16""G37"0
"P17""I37"0
"P18""K37"0
"Q1""G3"0
"Q2""I3"0
"Q3""K3"0
"Q4""G10"0
"Q5""I10"0
"Q6""K10"0
"Q7""G17"0
"Q8""I17"0
"Q9""K17"
