diff --git a/VERAG_PROG_ALLGEMEIN/Classes/cMessenger.vb b/VERAG_PROG_ALLGEMEIN/Classes/cMessenger.vb index ac77606c..14efedf9 100644 --- a/VERAG_PROG_ALLGEMEIN/Classes/cMessenger.vb +++ b/VERAG_PROG_ALLGEMEIN/Classes/cMessenger.vb @@ -1,6 +1,8 @@ Imports System.Data.SqlClient Imports System.Reflection Imports System.Windows.Forms +Imports com.sun.org.apache.xerces.internal.impl +Imports com.sun.xml.internal.rngom Public Class cMessenger @@ -405,18 +407,25 @@ Public Class cMessenger Try Me.CHAT_MESSAGES.Clear() Using conn As SqlConnection = SQL.GetNewOpenConnectionADMIN() - Using cmd As New SqlCommand("SELECT chatMg_id,chatMg_chatId,chatMg_maId,chatMg_maName,chatMg_maFirma,chatMg_datetime,chatMg_type,chatMg_text,chatMg_anhang_docId,chatMg_referenz_AvisoId,chatMg_referenz_SendungsId,chatMg_referenz_KundenNr FROM(SELECT TOP " & top & " chatMg_id,chatMg_chatId,chatMg_maId,chatMg_maName,chatMg_maFirma,chatMg_datetime,chatMg_type,chatMg_text,chatMg_anhang_docId,chatMg_referenz_AvisoId,chatMg_referenz_SendungsId,chatMg_referenz_KundenNr FROM [tblMessenger_ChatMessages] WHERE chatMg_chatId=@chat_id order by chatMg_datetime desc) as T order by chatMg_datetime asc", conn) + ' Using cmd As New SqlCommand("SELECT chatMg_id,chatMg_chatId,chatMg_maId,chatMg_maName,chatMg_maFirma,chatMg_datetime,chatMg_type,chatMg_text,chatMg_anhang_docId,chatMg_referenz_AvisoId,chatMg_referenz_SendungsId,chatMg_referenz_KundenNr FROM(SELECT TOP " & top & " chatMg_id,chatMg_chatId,chatMg_maId,chatMg_maName,chatMg_maFirma,chatMg_datetime,chatMg_type,chatMg_text,chatMg_anhang_docId,chatMg_referenz_AvisoId,chatMg_referenz_SendungsId,chatMg_referenz_KundenNr FROM [tblMessenger_ChatMessages] WHERE chatMg_chatId=@chat_id order by chatMg_datetime desc) as T order by chatMg_datetime asc", conn) + + Using cmd As New SqlCommand("SELECT TOP (@top) chatMg_id,chatMg_chatId,chatMg_maId,chatMg_maName,chatMg_maFirma,chatMg_datetime,chatMg_type,chatMg_text,chatMg_anhang_docId,chatMg_referenz_AvisoId,chatMg_referenz_SendungsId,chatMg_referenz_KundenNr FROM tblMessenger_ChatMessages WHERE chatMg_chatId = @chat_id ORDER BY chatMg_datetime DESC", conn) + cmd.Parameters.AddWithValue("@chat_id", chat_id) + cmd.Parameters.AddWithValue("@top", top) Dim dr = cmd.ExecuteReader() While dr.Read - 'Dim MSG As New cMessenger_ChatMessages(dr.Item("chatMg_id")) 'Me.chat_id, dr.Item("chatMb_maId")) 'yxc - 'Me.CHAT_MESSAGES.Add(MSG) - Dim MSG As New cMessenger_ChatMessages(dr.Item("chatMg_id"), dr.Item("chatMg_maId"), dr.Item("chatMg_datetime"), dr.Item("chatMg_maName"), dr.Item("chatMg_maFirma"), dr.Item("chatMg_type"), dr.Item("chatMg_text"), IIf(IsDBNull(dr.Item("chatMg_anhang_docId")), Nothing, dr.Item("chatMg_anhang_docId")), IIf(IsDBNull(dr.Item("chatMg_referenz_AvisoId")), Nothing, dr.Item("chatMg_referenz_AvisoId")), IIf(IsDBNull(dr.Item("chatMg_referenz_SendungsId")), Nothing, dr.Item("chatMg_referenz_SendungsId")), dr.Item("chatMg_referenz_KundenNr")) 'Me.chat_id, dr.Item("chatMb_maId")) 'yxc + Dim MSG As New cMessenger_ChatMessages(dr.Item("chatMg_id")) ' ----> 100 messages = 101 SQL calls + 'Hier werden die einzelnen MSg-Obj nicht mehr per SQL geladen, sondern direkt als Objekt übergeben -> schneller! + 'Dim MSG As New cMessenger_ChatMessages(dr.Item("chatMg_id"), dr.Item("chatMg_maId"), dr.Item("chatMg_datetime"), dr.Item("chatMg_maName"), dr.Item("chatMg_maFirma"), dr.Item("chatMg_type"), dr.Item("chatMg_text"), IIf(IsDBNull(dr.Item("chatMg_anhang_docId")), Nothing, dr.Item("chatMg_anhang_docId")), IIf(IsDBNull(dr.Item("chatMg_referenz_AvisoId")), Nothing, dr.Item("chatMg_referenz_AvisoId")), IIf(IsDBNull(dr.Item("chatMg_referenz_SendungsId")), Nothing, dr.Item("chatMg_referenz_SendungsId")), dr.Item("chatMg_referenz_KundenNr")) 'Me.chat_id, dr.Item("chatMb_maId")) 'yxc Me.CHAT_MESSAGES.Add(MSG) End While dr.Close() End Using End Using + + Me.CHAT_MESSAGES.Reverse() + Catch ex As Exception MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) End Try @@ -430,15 +439,16 @@ Public Class cMessenger cmd.Parameters.AddWithValue("@chat_id", chat_id) cmd.Parameters.AddWithValue("@dateTmp", dateTmp) Dim dr = cmd.ExecuteReader() + While dr.Read - 'Dim MSG As New cMessenger_ChatMessages(dr.Item("chatMg_id")) 'Me.chat_id, dr.Item("chatMb_maId")) 'yxc - 'Me.CHAT_MESSAGES.Add(MSG) + Dim MSG As New cMessenger_ChatMessages(dr.Item("chatMg_id")) '----> 100 messages = 101 SQL calls 'Hier werden die einzelnen MSg-Obj nicht mehr per SQL geladen, sondern direkt als Objekt übergeben -> schneller! - - Dim MSG As New cMessenger_ChatMessages(dr.Item("chatMg_id"), dr.Item("chatMg_maId"), dr.Item("chatMg_datetime"), dr.Item("chatMg_maName"), dr.Item("chatMg_maFirma"), dr.Item("chatMg_type"), dr.Item("chatMg_text"), IIf(IsDBNull(dr.Item("chatMg_anhang_docId")), Nothing, dr.Item("chatMg_anhang_docId")), IIf(IsDBNull(dr.Item("chatMg_referenz_AvisoId")), Nothing, dr.Item("chatMg_referenz_AvisoId")), IIf(IsDBNull(dr.Item("chatMg_referenz_SendungsId")), Nothing, dr.Item("chatMg_referenz_SendungsId")), dr.Item("chatMg_referenz_KundenNr")) 'Me.chat_id, dr.Item("chatMb_maId")) 'yxc + 'Dim MSG As New cMessenger_ChatMessages(dr.Item("chatMg_id"), dr.Item("chatMg_maId"), dr.Item("chatMg_datetime"), dr.Item("chatMg_maName"), dr.Item("chatMg_maFirma"), dr.Item("chatMg_type"), dr.Item("chatMg_text"), IIf(IsDBNull(dr.Item("chatMg_anhang_docId")), Nothing, dr.Item("chatMg_anhang_docId")), IIf(IsDBNull(dr.Item("chatMg_referenz_AvisoId")), Nothing, dr.Item("chatMg_referenz_AvisoId")), IIf(IsDBNull(dr.Item("chatMg_referenz_SendungsId")), Nothing, dr.Item("chatMg_referenz_SendungsId")), dr.Item("chatMg_referenz_KundenNr")) 'Me.chat_id, dr.Item("chatMb_maId")) 'yxc Me.CHAT_MESSAGES.Add(MSG) + End While + dr.Close() End Using End Using @@ -776,6 +786,7 @@ Public Class cMessenger Me.chatMg_datetime = chatMg_datetime Me.chatMg_maName = chatMg_maName Me.chatMg_maFirma = chatMg_maFirma + Me.chatMg_type = chatMg_type Me.chatMg_text = chatMg_text Me.chatMg_anhang_docId = chatMg_anhang_docId Me.chatMg_referenz_AvisoId = chatMg_referenz_AvisoId diff --git a/VERAG_PROG_ALLGEMEIN/Messenger/frmMessenger.vb b/VERAG_PROG_ALLGEMEIN/Messenger/frmMessenger.vb index 57ee26a2..9878e7b8 100644 --- a/VERAG_PROG_ALLGEMEIN/Messenger/frmMessenger.vb +++ b/VERAG_PROG_ALLGEMEIN/Messenger/frmMessenger.vb @@ -160,39 +160,6 @@ Public Class frmMessenger End If End Sub - 'Sub initEmojisTEST() - ' FlowLayoutPanel.Controls.Clear() - ' If alloweasteregg Then pic.Visible = False - - ' If System.IO.Directory.Exists(DATENVERVER_OPTIONS.getRootDir & "\DOKUMENTE\CHAT_EMOJIS\") Then - ' Dim EmojiPath = Environment.GetFolderPath(Environment.SpecialFolder.Personal) & "CHAT_EMOJIS\" - ' If Not System.IO.Directory.Exists(EmojiPath) Then System.IO.Directory.CreateDirectory(EmojiPath) - - ' If VERAG_PROG_ALLGEMEIN.cProgrammeUpdate.copyProgramLIST(DATENVERVER_OPTIONS.getRootDir & "\DOKUMENTE\CHAT_EMOJIS\", EmojiPath, {}) Then - ' For Each a In System.IO.Directory.GetFiles(EmojiPath) '.OrderBy(Function(f) f) - ' If alloweasteregg Or Not a.Contains("easteregg") Then - ' If System.IO.File.Exists(a) And a.Contains(".png") And a.Contains("emoji_") Then - - ' Dim p As New PictureBox - ' p.Size = New Size(40, 40) - ' p.BackgroundImage = Image.FromFile(a) - ' p.BackgroundImageLayout = ImageLayout.Zoom - ' p.Cursor = Cursors.Hand - ' AddHandler p.Click, Sub() - ' If Not CHAT.chat_aktiv Then MsgBox("Chat inaktiv!") : Exit Sub - ' If CHAT IsNot Nothing Then - ' saveEmoji(a) - ' End If - ' End Sub - - ' FlowLayoutPanel.Controls.Add(p) - ' End If - ' End If - ' Next - ' End If - ' End If - 'End Sub - Sub intiDGVChats(Optional dgv_ChatID = -1, Optional reloadChat = True, Optional selFirst = False)