Davidson County Water

Sample ASP Code from Website for Field Engineers

Sub Main()
		Dim bCopiousLogging : bCopiousLogging = True 'set to True to log even ordinary events
		mlWOCOMMT_PreviousTimestamp = 0
		mlWOCOMMT_UID = Request("uid")
	'Who am I?
		msURL = Request.ServerVariables("URL")
	'Who are you?
		msTechUsername = ""
		If msTechUsername = "" Then msTechUsername = TrimCStr(Request("u"))
		If msTechUsername = "" Then msTechUsername = TrimCStr(Request("username" ))
		msTechPassword = ""
		If msTechPassword = "" Then msTechPassword = TrimCStr(Request("p"))
		If msTechPassword = "" Then msTechPassword = TrimCStr(Request("password" ))
		If msTechUsername = "" Then
			If bCopiousLogging Then LogWLTRANS "Present Login Page"
			WriteLoginForm ""
			Exit Sub
		End If
	'Do I know you?
		Dim sFeedback
		If Not VerifyIDByConsultingSRVTECH(True, sFeedback) Then
			LogWLTRANS "Failed to Verify [" & msTechUsername & "][" & msTechPassword & "] " & sFeedback
			WriteLoginForm sFeedback
			Exit Sub
		End If
		msListRoutNMs = "" 'don't actually execute ListRoutNMs() until/unless needed for this page
	'Which list/page do you want?
		msWhichList = TrimCStr(Request("list"))
		Dim lEgacy
		lEgacy = InStr(1, msWhichList, "cell")
		If lEgacy > 0 Then msWhichList = Left(msWhichList, lEgacy-1)
	'Can I infer anything from your choice of list/page?
		mbDisplayMenu_Sideways = ( UCase(msWhichList) = UCase(LIST_TRIPTYCH) )
	'What identifying numbers (if any) are you asking about?
		msWRKORD_WOREForRDCONT = 0
		If SafeCLng(msWRKORD_WOREForRDCONT) = 0 Then msWRKORD_WOREForRDCONT = Request("WOREF")
		If SafeCLng(msWRKORD_WOREForRDCONT) = 0 Then msWRKORD_WOREForRDCONT = Request("RDCONT")
		TidyUpReferenceNumber msWRKORD_WOREForRDCONT
		msWRKORD_WOACCTorMLOCAorRDACCT = 0
		If SafeCLng(msWRKORD_WOACCTorMLOCAorRDACCT) = 0 Then msWRKORD_WOACCTorMLOCAorRDACCT = Request("MLOCA")
		If SafeCLng(msWRKORD_WOACCTorMLOCAorRDACCT) = 0 Then msWRKORD_WOACCTorMLOCAorRDACCT = Request("WOACCT")
		If SafeCLng(msWRKORD_WOACCTorMLOCAorRDACCT) = 0 Then msWRKORD_WOACCTorMLOCAorRDACCT = Request("RDACCT")
		If SafeCLng(msWRKORD_WOACCTorMLOCAorRDACCT) = 0 Then msWRKORD_WOACCTorMLOCAorRDACCT = Request("account")
		TidyUpAccountNumber msWRKORD_WOACCTorMLOCAorRDACCT
	'Is there anything else you want to tell me?
		On Error Resume Next
			mbDisplayMenu_AtAll = True
			mbDisplayMenu_AtAll = Not CBool(UCase(Request("nomenu")))
		On Error GoTo 0
		On Error Resume Next
			ms_LEAKQUALSERV_OrderBy = TrimCStr(Request("orderby"))
			If ms_LEAKQUALSERV_OrderBy = "" Then ms_LEAKQUALSERV_OrderBy = "WORDNM"
		On Error GoTo 0
		On Error Resume Next
			msLISTSTATUS_RoutNm = TrimCStr(Request("routnm"))
		On Error GoTo 0
		On Error Resume Next
			msREADCUT_RDREAD_NewReading = DigitsOnly(Request("reading"))
			msREADCUT_RDMSG_NewComment = TrimCStr(Request("comment"))
			msWRKORD_WODLNx_PrevDirect = TrimCStr(Request("prevcomment"))
		On Error GoTo 0
		On Error Resume Next
			'NO! Do Not Get WRKORD values from URL en masse, only get the few needed ones
			msWRKORD_WODLN1_Directions = TrimCStr(Request("WODLN1"))
			msWRKORD_WODLN2_Directions = TrimCStr(Request("WODLN2"))
			msWRKORD_WODLN3_Directions = TrimCStr(Request("WODLN3"))
			msWRKORD_WOCMNT_FallowComment = TrimCStr(Request("WOCMNT"))
			msWRKORD_WOASSN_AssignedTo = BlankIfExistingWorkOrderAndSameAsPrev("WOASSN")
			msWRKORD_WOPROB_ProblemEnum = DigitsOnly(BlankIfExistingWorkOrderAndSameAsPrev("WOPROB"))
			msWRKORD_WOMIN_MinutesDeadline = DigitsOnly(BlankIfExistingWorkOrderAndSameAsPrev("WOMIN"))
			msWRKORD_WOPRTY_Priority = DigitsOnly(BlankIfExistingWorkOrderAndSameAsPrev("WOPRTY"))
		On Error GoTo 0
		On Error Resume Next
			mbRepeatCutoff =(Request("RepeatCutoff")=1)
			mbPulledMeter = (Request("PulledMeter")="on")
		On Error GoTo 0
	'Can we finally make a decision, please?
		If msWhichList = "" Then
			If bCopiousLogging Then LogWLTRANS "Present Table of Contents"
			WriteTableOfContents
		ElseIf UCase(msWhichList) = UCase(LIST_USER_EDIT) Then
			WriteEditUserPage
		ElseIf UCase(msWhichList) = UCase(LIST_USER_SAVE) Then
			WriteSaveUserPage
			WriteTableOfContents

		ElseIf UCase(msWhichList) = UCase(LIST_WRKORD_CARD) _
		Or     UCase(msWhichList) = UCase(LIST_WRKORD_TECH_EDIT) Then
			SelectFromWRKORD msWRKORD_WOACCTorMLOCAorRDACCT, msWRKORD_WOREForRDCONT 'which will produce a WOACCT in the event we have only a WOREF up to this statement
			SelectFromUBMASTER msWRKORD_WOACCTorMLOCAorRDACCT, sFeedback
			WriteDetailsOfAccount
			WriteTableOfContents
		ElseIf UCase(msWhichList) = UCase(LIST_WRKORD_FULL_EDIT) Then
			SelectFromWRKORD msWRKORD_WOACCTorMLOCAorRDACCT, msWRKORD_WOREForRDCONT 'which will produce a WOACCT in the event we have only a WOREF up to this statement
			SelectFromUBMASTER msWRKORD_WOACCTorMLOCAorRDACCT, sFeedback
			WriteWRKORD_AddEdit
			WriteTableOfContents
		ElseIf UCase(msWhichList) = UCase(LIST_WRKORD_SAVE) Then
			UpdateWRKORD msWRKORD_WOACCTorMLOCAorRDACCT, msWRKORD_WOREForRDCONT
			msWhichList = TrimCStr(Request("prevlist"))
			WriteListOfAccounts

		ElseIf SafeCLng(msWRKORD_WOACCTorMLOCAorRDACCT) = 0 _
		   And SafeCLng(msWRKORD_WOREForRDCONT        ) = 0 Then
			WriteListOfAccounts

		ElseIf UCase(msWhichList) = UCase(LIST_LOCAT) _
		And    InStr(1,Request("mitsub"),LOCAT_SET_DONE)>0 Then
			UpdateWRKORD msWRKORD_WOACCTorMLOCAorRDACCT, msWRKORD_WOREForRDCONT
			WriteListOfAccounts

		ElseIf msREADCUT_RDREAD_NewReading = "" And msREADCUT_RDMSG_NewComment = "" Then
			If UCase(msWhichList) = UCase(LIST_RDCUT) Then
				SelectFromREADCUT msWRKORD_WOACCTorMLOCAorRDACCT, msWRKORD_WOREForRDCONT
			Else
				SelectFromWRKORD  msWRKORD_WOACCTorMLOCAorRDACCT, msWRKORD_WOREForRDCONT
			End If
			SelectFromUBMASTER msWRKORD_WOACCTorMLOCAorRDACCT, sFeedback
			If bCopiousLogging Then LogWLTRANS "Present Details of Account" & sFeedback
			If sFeedback = "" Then 
				WriteDetailsOfAccount
			Else
				WriteLn sFeedback
			End If
			WriteTableOfContents

		Else
			If bCopiousLogging Then LogWLTRANS "Reading[" & msREADCUT_RDREAD_NewReading & "] Comment[" & msREADCUT_RDMSG_NewComment & "]"
			If UCase(msWhichList) = UCase(LIST_LOCAT) Then
			ElseIf DealWithCheckedStatusSheetsIfAny() Then
			ElseIf UCase(msWhichList) = UCase(LIST_RDCUT) Then
				UpdateREADCUT_SetComplete msWRKORD_WOREForRDCONT
			Else
				UpdateWRKORD msWRKORD_WOACCTorMLOCAorRDACCT, msWRKORD_WOREForRDCONT
				WriteLn "Updated " & msWRKORD_WOACCTorMLOCAorRDACCT
			End If
			WriteListOfAccounts
		End If
End Sub