This commit is contained in:
2020-03-12 14:49:31 +01:00
parent f4c1a74870
commit cc28d5a6cf
197 changed files with 37402 additions and 4503 deletions

View File

@@ -23,7 +23,10 @@ Public Class cMessenger
End Function
Public Shared Function GET_NewMSG_COUNT(Optional maId = -1) As Integer
If maId < 0 Then maId = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID
Return SQL.getValueTxtBySql("SELECT isnull(COUNT(*),0) FROM tblMessenger_ChatMessages INNER JOIN tblMessenger_ChatMessageStatus ON chatMgSt_chatMsgId=chatMg_id WHERE chatMgSt_MaId=" & VERAG_PROG_ALLGEMEIN.cAllgemein.USRID & " AND chatMgSt_gelesen=0", "ADMIN",,, 0)
End Function
Public Shared Function GET_CHAT_LIST() As List(Of cMessenger_Chat)
Dim LIST As New List(Of cMessenger_Chat)
@@ -56,11 +59,11 @@ Public Class cMessenger
End Sub
Sub New(chat_id)
Sub New(chat_id As Integer, Optional topMax As String = "")
Me.chat_id = chat_id
Me.chat_erstelltMaId = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID
Me.chat_erstelltAm = Now
LOAD()
LOAD(topMax)
End Sub
Public Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
@@ -94,8 +97,8 @@ Public Class cMessenger
Return chat_id > 0
End Function
Public Sub LOAD()
Try
Public Sub LOAD(Optional topMax As String = "")
Try
Using conn As SqlConnection = SQL.GetNewOpenConnectionADMIN()
Using cmd As New SqlCommand("Select * FROM tblMessenger_Chat WHERE chat_id=@chat_id ", conn)
cmd.Parameters.AddWithValue("@chat_id", chat_id)
@@ -112,7 +115,7 @@ Public Class cMessenger
Next
Me.LOAD_MEMBERS()
Me.LOAD_MESSAGES()
Me.LOAD_MESSAGES(topMax)
End If
dr.Close()
End Using
@@ -135,6 +138,12 @@ Public Class cMessenger
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
End Try
End Sub
Public Function READ_ALL_MESSAGES() As Boolean
Dim sqlstr = "UPDATE tblMessenger_ChatMessageStatus SET chatMgSt_gelesen=1 FROM [tblMessenger_Chat] INNER JOIN tblMessenger_ChatMessages ON [chat_id]=chatMg_chatId INNER JOIN tblMessenger_ChatMessageStatus ON chatMgSt_chatMsgId=chatMg_id WHERE chat_id=" & Me.chat_id & " AND chatMgSt_MaId=" & VERAG_PROG_ALLGEMEIN.cAllgemein.USRID & " AND chatMgSt_gelesen=0 "
Return SQL.doSQL(sqlstr, "ADMIN")
End Function
Public Function DELETE_MEMBERS() As Boolean 'obj As Object, tablename As String, where As String) As Boolean
Dim sqlstr = " DELETE FROM [tblMessenger_ChatMembers] WHERE chatMb_chatId=" & Me.chat_id
Return SQL.doSQL(sqlstr, "ADMIN")
@@ -161,7 +170,7 @@ Public Class cMessenger
Try
Me.CHAT_MESSAGES.Clear()
Using conn As SqlConnection = SQL.GetNewOpenConnectionADMIN()
Using cmd As New SqlCommand("SELECT TOP " & top & " * FROM [tblMessenger_ChatMessages] WHERE chatMg_chatId=@chat_id order by chatMg_datetime", conn)
Using cmd As New SqlCommand("SELECT * FROM(SELECT TOP " & top & " * FROM [tblMessenger_ChatMessages] WHERE chatMg_chatId=@chat_id order by chatMg_datetime desc) as T order by chatMg_datetime asc", conn)
cmd.Parameters.AddWithValue("@chat_id", chat_id)
Dim dr = cmd.ExecuteReader()
While dr.Read
@@ -498,6 +507,9 @@ Public Class cMessenger
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("chatMg_maId", chatMg_maId))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("chatMg_chatId", chatMg_chatId))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("chatMg_datetime", chatMg_datetime))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("chatMg_maName", chatMg_maName))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("chatMg_maFirma", chatMg_maFirma))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("chatMg_type", chatMg_type))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("chatMg_text", chatMg_text))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("chatMg_anhang_docId", chatMg_anhang_docId))
@@ -510,15 +522,23 @@ Public Class cMessenger
Public Function SAVE() As Boolean
Public Function SAVE(saveStat As Boolean, Optional CHAT_MEMBERS As List(Of cMessenger_ChatMembers) = Nothing) As Boolean
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblMessenger_ChatMessages WHERE chatMg_id=@chatMg_id) " &
" BEGIN " & getUpdateCmd() & " END " &
" Else " &
" BEGIN " & getInsertCmd() & " END " &
" commit tran "
Dim tmp_id = SQL.doSQLVarListID(Me.chatMg_id, sqlstr, "ADMIN", , list)
If tmp_id > 0 Then
Me.chatMg_id = tmp_id
If saveStat Then SAVE_STATUS_FIRST(CHAT_MEMBERS)
Return True
Else
Return False
End If
Return SQL.doSQLVarList(sqlstr, "ADMIN", , list)
''Return SQL.doSQLVarList(sqlstr, "ADMIN", , list)
End Function
Public Sub LOAD()
@@ -538,7 +558,7 @@ Public Class cMessenger
End If
Next
LOAD_STATUS()
End If
dr.Close()
End Using
@@ -595,23 +615,29 @@ Public Class cMessenger
Return SQL.doSQL(sqlstr, "ADMIN")
End Function
'Public Sub SAVE_STATUS()
' Try
' Dim CHAT As New cMessenger_Chat(Me.chatMg_chatId)
' 'DELETE_STATUS()
' For Each MB In CHAT.CHAT_MEMBERS
' Dim STAT As New cMessenger_ChatMessageStatus(Me.chatMg_id, MB.chatMb_maId)
' MB.chatMb_chatId = Me.chat_id
' MB.SAVE()
' Next
' Catch ex As Exception
' MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
' End Try
'End Sub
'Public Function DELETE_MEMBERS() As Boolean 'obj As Object, tablename As String, where As String) As Boolean
' Dim sqlstr = " DELETE FROM [tblMessenger_ChatMessageStatus] WHERE chatMb_chatId=" & Me.chat_id
Public Sub SAVE_STATUS_FIRST(CHAT_MEMBERS As List(Of cMessenger_ChatMembers))
Try
If CHAT_MEMBERS IsNot Nothing Then
For Each MB In CHAT_MEMBERS
Dim gelesen = False
If MB.chatMb_maId = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID Then
gelesen = True
End If
Dim STAT As New cMessenger_ChatMessageStatus(Me.chatMg_id, MB.chatMb_maId, gelesen)
STAT.SAVE()
Next
End If
Catch ex As Exception
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
End Try
End Sub
'Public Function DELETE_STATUS() As Boolean 'obj As Object, tablename As String, where As String) As Boolean
' Dim sqlstr = " DELETE FROM [tblMessenger_ChatMessageStatus] WHERE chatMb_chatId=" & Me.chatMg_chatId
' Return SQL.doSQL(sqlstr, "ADMIN")
'End Function
Public Sub LOAD_STATUS()
Try
Me.CHAT_MESSAGES_STATUS_LIST.Clear()