Files
SDL/VERAG_PROG_ALLGEMEIN/Messenger/frmMessenger_NeuerChat.vb
2020-03-12 14:49:31 +01:00

121 lines
5.0 KiB
VB.net

Imports System.Windows.Forms
Public Class frmMessenger_NeuerChat
Dim SQL As New SQL
Dim loaded = False
Public chat_id As Integer = -1
Sub initDGV()
If Not loaded Then Exit Sub
With dgvMitarbeiter
Dim FirmaTMP = MyComboBox1._value
Dim sqlStr = "SELECT TOP (1000) [mit_id],[mit_nname] + ' ' + [mit_vname] + ' (' + mit_niederlassung + ')' as MAname,CASE WHEN mit_firma='ALL' THEN mit_firmaHaupt ELSE mit_firma END as mit_firma FROM [tblMitarbeiter]"
sqlStr &= " WHERE mit_gekuendigt=0 AND /*mit_abteilung IN ('QS','ZOLL','DISPO') AND*/ [mit_TESTonly]=0 AND [mit_pseudoUser]=0 AND [mit_ChatBenutzer]=1 "
If MyComboBox1._value <> "" Then sqlStr &= " AND mit_firma IN ('" & FirmaTMP & "','BEIDE','ALLE','ALL')"
If MyTextBox1.Text <> "" Then sqlStr &= " AND (mit_nname LIKE '" & MyTextBox1.Text & "%' OR mit_vname LIKE '" & MyTextBox1.Text & "%' )"
sqlStr &= " order by mit_nname,mit_vname"
.DataSource = SQL.loadDgvBySql(sqlStr, "ADMIN")
If .Columns.Count = 0 Then Exit Sub
.Columns("mit_id").Visible = False
.AutoSizeColumnsMode = Windows.Forms.DataGridViewAutoSizeColumnsMode.AllCells
End With
End Sub
Private Sub frmMessenger_NeuerChat_Load(sender As Object, e As EventArgs) Handles Me.Load
MyComboBox1.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("", ""))
MyComboBox1.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("VERAG", "VERAG"))
MyComboBox1.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("ATILLA", "ATILLA"))
MyComboBox1.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("IMEX", "IMEX"))
MyComboBox1.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("UNISPED", "UNISPED"))
MyComboBox1.changeItem("")
loaded = True
initDGV()
End Sub
Private Sub MyTextBox1_TextChanged(sender As Object, e As EventArgs) Handles MyTextBox1.TextChanged
initDGV()
End Sub
Private Sub MyTextBox1_KeyDown(sender As Object, e As KeyEventArgs) Handles MyTextBox1.KeyDown
If dgvMitarbeiter.Rows.Count = 0 Then Exit Sub
If e.KeyCode = Keys.Down Then
If dgvMitarbeiter.SelectedRows.Count = 0 Then dgvMitarbeiter.Rows(0).Selected = True
If dgvMitarbeiter.Rows.Count > dgvMitarbeiter.SelectedRows(0).Index + 1 Then
Dim newIndex = dgvMitarbeiter.SelectedRows(0).Index + 1
dgvMitarbeiter.ClearSelection()
dgvMitarbeiter.Rows(newIndex).Selected = True
MyTextBox1.Focus()
End If
End If
If e.KeyCode = Keys.Up Then
If dgvMitarbeiter.SelectedRows.Count = 0 Then dgvMitarbeiter.Rows(0).Selected = True
If dgvMitarbeiter.SelectedRows(0).Index > 0 Then
Dim newIndex = dgvMitarbeiter.SelectedRows(0).Index - 1
dgvMitarbeiter.ClearSelection()
dgvMitarbeiter.Rows(newIndex).Selected = True
MyTextBox1.Focus()
End If
End If
If e.KeyCode = Keys.Return Then
addSelMA()
End If
End Sub
Sub addSelMA()
If dgvMitarbeiter.SelectedRows.Count > 0 Then
dgvChatMembers.Rows.Add(dgvMitarbeiter.SelectedRows(0).Cells("mit_id").Value, dgvMitarbeiter.SelectedRows(0).Cells("MAname").Value, dgvMitarbeiter.SelectedRows(0).Cells("mit_firma").Value)
If dgvChatMembers.Rows.Count = 1 Then
MyTextBox2.Text = dgvMitarbeiter.SelectedRows(0).Cells("MAname").Value
MyTextBox2.Enabled = False
Else
MyTextBox2.Text = ""
MyTextBox2.Enabled = True
End If
MyTextBox1.Text = ""
MyTextBox1.Focus()
End If
End Sub
Private Sub btn_Click(sender As Object, e As EventArgs) Handles btn.Click
If MyTextBox2.Enabled And MyTextBox2.Text = "" Then
MsgBox("Chat-Name eingeben!")
Exit Sub
End If
If dgvChatMembers.Rows.Count = 0 Then
MsgBox("Mitglieder eingeben!")
Exit Sub
End If
Dim chatName = If(MyTextBox2.Enabled, MyTextBox2.Text, "")
Dim MB_LIST As New List(Of Integer)
MB_LIST.Add(VERAG_PROG_ALLGEMEIN.cAllgemein.USRID) 'Selbst!
For Each r As DataGridViewRow In dgvChatMembers.Rows
MB_LIST.Add(r.Cells("clmnMaId").Value)
Next
Dim CHAT As cMessenger.cMessenger_Chat = Nothing
If VERAG_PROG_ALLGEMEIN.cMessenger.GEN_NEW_CHAT(chatName, MB_LIST, CHAT) Then
If CHAT IsNot Nothing Then chat_id = CHAT.chat_id
Me.Close()
End If
End Sub
Private Sub MyComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles MyComboBox1.SelectedIndexChanged
initDGV()
End Sub
Private Sub dgvMitarbeiter_CellDoubleClick(sender As Object, e As DataGridViewCellEventArgs) Handles dgvMitarbeiter.CellDoubleClick
addSelMA()
End Sub
End Class