<%
' ************************************************************************ '
' * Title:      prIncd.inc												 * '
' * Author:     Scott Baker												 * '
' *             Copyright (c) 2000 Elsinore Technologies, Inc			 * '
' * Date:       1-May-00												 * '
' ************************************************************************ '
' * Description:														 * '
' *     This file contains the functions used by the fmIncd.asp page.    * '
' *     The methods in this file are ran at the server level and are     * '
' *     described below:												 * '
' *																		 * '
' *  Load_Incidents()													 * '
' *		Responsible for loading the application scope variable 			 * '
' *     viIncidents based on the SQL clause.  Furthermore, the function  * '
' *     then sets the global count variable based on success/failure.    * '
' *																		 * '
' *  Build_Table()														 * '
' *		Responsible for looping through the elements of the viIncidents	 * '
' *     collection, building the rows for the table on the fmIncd.asp    * '
' *     page with specific data from each element.						 * '
' ************************************************************************ '
' * Change History:														 * '
' *																		 * '
' *  1-May-00           File was created.								 * '
' *  2-May-00           Added Method Build_Table						 * '
' ************************************************************************ '
' * Software Design comments for this file:								 * '
' *																		 * '
' *  1. Use of an include file promotes information hiding by separating * '
' *       the code from the HTML file and modularity by organizing the   * '
' *       code into functions that perform exactly one task.			 * '
' *																		 * '
' *  2. Use of (modified) Hungarian Notation promotes a common naming    * '
' *       convention.  No matter what standards are used by your organ-  * '
' *       ization, an accepted set of mnemonics allows other developers  * '
' *       to quickly read through your code and identify the purpose and * '
' *       type of variable of variable they are looking at.				 * '
' ************************************************************************ '
%>

<%
' ************************************************************************ '
' *						Global Variable Declarations					 * '
' ************************************************************************ '
Dim nCount	'As Integer		 - variable holds the number of elements in	 * '
			'				   the viCollection object.				     * '

' ************************************************************************ '
' * Function Name:	Load_Incidents()									 * '
' * Scope:			Server-Level										 * '
' * Description:														 * '
' *		This function uses the Visual Intercept Software Developers Kit, * '
' *     specifically the viEngine object, to access the incidents on the * '
' *     identified data source.  A compound SQL clause is used to limit  * '
' *		the data returned from the FetchIncidents method.  Success or    * '
' *     failure results in a number assigned to the global nCount		 * '
' *     variable.														 * '
' ************************************************************************ '
Function Load_Incidents()
	Dim lErr		'As Long	- variable holds the return value		 * '
	Dim clause		'As Sting	- variable holds the SQL clause			 * '
	
	viIncidents.RemoveAll			'Ensure the collection is empty.	 * '
	viEngine.SortResults(False)		'Allow the SQL clause to sort		 * '
	
	clause = "WHERE Incident.ProjectName IN (SELECT Project.Name FROM Project WHERE Project.Lead = $USERID ) ORDER BY Incident.Status"
	lErr = 	viEngine.FetchIncidents(viIncidents, clause)

	If (0 = lErr) Then
		nCount = viIncidents.Count
	Else
		nCount = 0
	End If
	
End Function
%>

<%
' ************************************************************************ '
' * Function Name:	Build_IncidentRows									 * '
' * Scope:			Server-Level										 * '
' * Description:														 * '
' *		This function relys on the successful call to the Visual         * '
' *     Intercept SDK's FetchIncidents method.  If the count of the      * '
' *     objects in the collection are greater than one, then the         * '
' *		Function loops through the collection creating rows for the      * '
' *     table on the fmIncd.asp page, filling the columns with the		 * '
' *     incident ID, subject, status, and assign ID respectively.	     * '
' ************************************************************************ '
Function Build_IncidentRows()
	Dim nIndex		'As Integer		- variable is the loop controller	 * '
	Dim lErr		'As Long		- variable holds a return value		 * '
	Dim Incident	'As Object		- VisualIntercept.viIncident object  * '
	
	If ( nCount > 0 ) Then
		For nIndex = 1 to nCount
			Set Incident = viIncidents.Item(nIndex)
			Response.Write("<TR BGCOLOR=white>")
			Response.Write("<TD ALIGN=CENTER WIDTH='10%'>")
			Response.Write("<FONT COLOR=black>" & Incident.GetIncidentID & _
			               "</FONT>")
			Response.Write("</TD>")
			Response.Write("<TD ALIGN=LEFT WIDTH='70%'>")
			Response.Write("<FONT COLOR=black>" & Incident.GetSubject & _
			               "</FONT>")
			Response.Write("</TD>")
			Response.Write("<TD ALIGN=CENTER WIDTH='10%'>")
			Response.Write("<FONT COLOR=black>" & Incident.GetStatus & _
			               "</FONT>")
			Response.Write("</TD>")
			Response.Write("<TD ALIGN=CENTER WIDTH='10%'>")
			Response.Write("<FONT COLOR=black>" & Incident.GetAssignedID & _ 
			               "</FONT>")
			Response.Write("</TD>")
			Response.Write("<TR>")
		Next
	Else
		' The viIncidents collection is empty, write a message to the screen
		Response.Redirect("fmNoIncds.asp")
	End If	
End Function
%>

<!-- End of File -->