Dim checkmp As Map
checkmp.Initialize
checkmp.Put("attaches",Attachments.Size)
checkmp.Put("casetype",casetype.GetActiveItemId() )
checkmp.Put("casesummary", (casesummary.Text))
checkmp.Put("casedescription", (casedescription.Text))
checkmp.Put("casepoints", casepoints.GetActiveItemId())
checkmp.Put("casestatus", casestatus.GetActiveItemId())
checkmp.Put("caseversion", caseversion.text)
Log(" check map: "&checkmp)
Log(" edit map: "&CaseEdit)
If CaseEdit.Size = 0 Then ' inserted record - it is NEW - force WasEdit code below...
WasEdit = True
Else
WasEdit = CheckEdit(checkmp) ' was anything changed? Compare original to saved content...
End If
If WasEdit Then
Log(" Setting userids in save")
' reset everyones read status for this case
DBM.SQLDelete(SQL, "DELETE FROM caseread WHERE CaseRCaseID = " & ActiveCaseId &" AND CaseRUserID <> "&UserID&" AND comp_id = "&Main.comp_id )
End If
WasEdit = False
Sub CheckEdit(checkmap As Map) As Boolean
Dim res As Boolean = False
For i = 0 To CaseEdit.Size-1 ' CaseEdit saved each item to a map to compare against checkmap to see if anything changed.
Dim ky As String = CaseEdit.GetKeyAt(i)
Dim v1 As String = CaseEdit.GetDefault(ky,"x")
Dim v2 As String = checkmap.GetDefault(ky,"x")
If v1 <> v2 Then
res = True
Log(" Different key value found: "&ky&" - "&v1&" - "&v2)
Exit
End If
Next
Return res
End Sub