MS: Chat und co
This commit is contained in:
108
Controls.ChatNewConv/ChatNewConv.vb
Normal file
108
Controls.ChatNewConv/ChatNewConv.vb
Normal file
@@ -0,0 +1,108 @@
|
||||
Imports DevExpress.XtraGrid.Views.Tile
|
||||
Imports DigitalData.Modules.Database
|
||||
Imports DigitalData.Modules.Logging
|
||||
|
||||
Public Class ChatNewConv
|
||||
Public Delegate Sub ConversationCreated()
|
||||
Public Event Conversation_Created As ConversationCreated
|
||||
Private _Database As MSSQLServer
|
||||
Private LogConfig As LogConfig
|
||||
Private Logger As Logger
|
||||
|
||||
Public IDBObjectId As Long
|
||||
Public ConnStringIDB As String
|
||||
Public Username As String
|
||||
Public User_Language As String
|
||||
Public NewConversation As Long
|
||||
|
||||
Public Sub New()
|
||||
InitializeComponent()
|
||||
End Sub
|
||||
|
||||
Public Sub Init(LogConfig As LogConfig, ConnectionStringIDB As String, IDB_OBJ_ID As Long, Username As String, UserLanguage As String, DTUsers As DataTable, DTGroups As DataTable)
|
||||
Me.LogConfig = LogConfig
|
||||
Me.Logger = LogConfig.GetLogger()
|
||||
Me.ConnStringIDB = ConnectionStringIDB
|
||||
IDBObjectId = IDB_OBJ_ID
|
||||
Me.Username = Username
|
||||
Me.User_Language = UserLanguage
|
||||
Me._Database = New MSSQLServer(LogConfig, ConnectionStringIDB)
|
||||
If Not IsNothing(DTUsers) Then
|
||||
If DTUsers.Rows.Count > 1 Then
|
||||
AccordionControlElementUser.Visible = True
|
||||
GridControlUsers.DataSource = DTUsers
|
||||
Else
|
||||
AccordionControlElementUser.Visible = False
|
||||
End If
|
||||
Else
|
||||
AccordionControlElementUser.Visible = False
|
||||
End If
|
||||
If Not IsNothing(DTGroups) Then
|
||||
If DTGroups.Rows.Count > 1 Then
|
||||
AccordionControlElementGroups.Visible = True
|
||||
GridControlGroups.DataSource = DTUsers
|
||||
Try
|
||||
GridViewUsers.Columns("UserID").Visible = False
|
||||
Catch ex As Exception
|
||||
GridViewUsers.Columns("USER_ID").Visible = False
|
||||
End Try
|
||||
|
||||
Else
|
||||
AccordionControlElementGroups.Visible = False
|
||||
End If
|
||||
Else
|
||||
AccordionControlElementGroups.Visible = False
|
||||
End If
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub SimpleButton1_Click(sender As Object, e As EventArgs) Handles SimpleButton1.Click
|
||||
Try
|
||||
If txtConv_Title.Text = String.Empty Then
|
||||
MsgBox("Please add a conversation-title!", MsgBoxStyle.Information)
|
||||
Exit Sub
|
||||
End If
|
||||
Dim oSQL = $"EXEC PRIDB_NEW_CONVERSATION {IDBObjectId},'{txtConv_Title.Text}','{Username}','{User_Language}'"
|
||||
If _Database.ExecuteNonQuery(oSQL) = True Then
|
||||
Dim oError As Boolean = False
|
||||
oSQL = $"SELECT MAX(CONVERSATION_ID) FROM VWIDB_CONVERSATION WHERE IDB_OBJ_ID = {IDBObjectId}"
|
||||
Dim oCONV_ID = _Database.NewExecuteScalar(oSQL)
|
||||
If Not IsNothing(oCONV_ID) Then
|
||||
NewConversation = oCONV_ID
|
||||
Dim oSelectedUsers As Integer() = GridViewUsers.GetSelectedRows()
|
||||
If oSelectedUsers.Count > 0 Then
|
||||
For Each oRowHandle As Integer In oSelectedUsers
|
||||
Dim oUserID
|
||||
Try
|
||||
oUserID = GridViewUsers.GetRowCellValue(oRowHandle, "UserID")
|
||||
Catch ex As Exception
|
||||
Try
|
||||
oUserID = GridViewUsers.GetRowCellValue(oRowHandle, "USER_ID")
|
||||
Catch ex1 As Exception
|
||||
Logger.Warn("Error Selecting UserID/USER_ID: " & ex.Message)
|
||||
oError = True
|
||||
Exit Sub
|
||||
End Try
|
||||
|
||||
|
||||
End Try
|
||||
|
||||
oSQL = $"EXEC PRIDB_ADD_USER_2_CONVERSATION {oCONV_ID},{oUserID},'{Username}'"
|
||||
If _Database.ExecuteNonQuery(oSQL) = False Then
|
||||
oError = True
|
||||
End If
|
||||
Next
|
||||
End If
|
||||
If oError = False Then
|
||||
RaiseEvent Conversation_Created()
|
||||
End If
|
||||
End If
|
||||
Else
|
||||
MsgBox("Error running create procedure. Check Your log!", MsgBoxStyle.Information)
|
||||
End If
|
||||
|
||||
Catch ex As Exception
|
||||
MsgBox($"Unexpected error in Add Conversation: {ex.Message}")
|
||||
End Try
|
||||
End Sub
|
||||
End Class
|
||||
Reference in New Issue
Block a user