<% ' Initialize error handling Call InitializeErrorHandling("savedevice.asp") ' Get the serial number from the form Dim serialnumber serialnumber = Trim(Request.Form("serialnumber")) ' Validate serial number format and length If Not ValidateSerialNumber(serialnumber) Then Call CleanupResources() Response.Redirect("./adddevice.asp?error=INVALID_SERIAL") Response.End End If ' Check if serial number already exists - PHASE 2: Use machines table Dim checkSQL, rsCheck, existingMachineID checkSQL = "SELECT machineid FROM machines WHERE serialnumber = ? AND pctypeid IS NOT NULL" Set rsCheck = ExecuteParameterizedQuery(objConn, checkSQL, Array(serialnumber)) If Not rsCheck.EOF Then ' Serial number already exists - redirect to edit page existingMachineID = rsCheck("machineid") rsCheck.Close Set rsCheck = Nothing Call CleanupResources() Response.Redirect("./editdevice.asp?pcid=" & existingMachineID & "&scanned=1") Response.End End If rsCheck.Close Set rsCheck = Nothing ' Insert new device with minimal required fields - PHASE 2: Use machines table ' machinestatusid = 2 (Inventory) ' isactive = 1 ' modelnumberid = 1 (default model) ' requires_manual_machine_config = 0 (no manual config needed) ' osid = 1 (default OS) ' machinetypeid = 28 (PC - Standard default) ' pctypeid = 1 (Standard PC type) Dim insertSQL, recordsAffected insertSQL = "INSERT INTO machines (serialnumber, machinestatusid, isactive, modelnumberid, requires_manual_machine_config, osid, machinetypeid, pctypeid, lastupdated) " & _ "VALUES (?, 2, 1, 1, 0, 1, 28, 1, NOW())" recordsAffected = ExecuteParameterizedInsert(objConn, insertSQL, Array(serialnumber)) ' Cleanup and redirect Call CleanupResources() If recordsAffected > 0 Then ' Success - redirect back with success message Response.Redirect("./adddevice.asp?added=" & Server.URLEncode(serialnumber)) Else Response.Redirect("./adddevice.asp?error=db") End If %>