110 lines
4.4 KiB
VB.net
110 lines
4.4 KiB
VB.net
Imports DigitalData.Modules.Logging
|
|
|
|
Public Class frmAdmin_GlobixRelations
|
|
|
|
Private SELECTED_DTID As Integer
|
|
Private Logger As Logger
|
|
|
|
Private Function GetAvailableUsers(doctypeid As Integer) As DataTable
|
|
Try
|
|
Dim dt As DataTable
|
|
Dim oSQL = $"SELECT GUID UserID,NAME as Name, PRENAME as Prename,USERNAME as Username, EMAIL as Email FROM TBDD_USER WHERE GUID NOT IN (SELECT USER_ID FROM TBDD_USER_DOKTYPE WHERE DOCTYPE_ID = {doctypeid})"
|
|
dt = My.DatabaseECM.GetDatatable(oSQL)
|
|
Return dt
|
|
Catch ex As Exception
|
|
ShowErrorMessage($"Error in GetAvailableUsers with ID {doctypeid}", ex)
|
|
|
|
Return Nothing
|
|
End Try
|
|
End Function
|
|
Private Function GetRelatedUsers(doctypeid As Integer) As DataTable
|
|
Try
|
|
Dim dt As DataTable
|
|
Dim oSQL = $"SELECT A.GUID RelID,B.NAME as Name, B.PRENAME as Prename,B.USERNAME as Username, B.EMAIL as Email FROM TBDD_USER_DOKTYPE A
|
|
INNER JOIN TBDD_USER B ON A.USER_ID = B.GUID WHERE A.DOCTYPE_ID = {doctypeid}"
|
|
dt = My.DatabaseECM.GetDatatable(oSQL)
|
|
Return dt
|
|
Catch ex As Exception
|
|
ShowErrorMessage($"Error in GetRelatedUsers with ID {doctypeid}", ex)
|
|
|
|
Return Nothing
|
|
End Try
|
|
End Function
|
|
Private Sub ShowErrorMessage(errorText As String, ex As Exception)
|
|
MsgBox(errorText & vbCrLf & vbCrLf & ex.Message, MsgBoxStyle.Critical, "BE Relations")
|
|
End Sub
|
|
|
|
Private Sub frmAdmin_GlobixRelations_Load(sender As Object, e As EventArgs) Handles Me.Load
|
|
Try
|
|
Dim oSQL = "SELECT DOCTYPE_ID As ID, DOCTYPE as Doctype FROM VWGI_DOCTYPE_IDB ORDER BY DOCTYPE"
|
|
Dim oDT As DataTable = My.DatabaseECM.GetDatatable(oSQL)
|
|
Logger = My.LogConfig.GetLogger()
|
|
|
|
GridControlDoctypesUsers.DataSource = oDT
|
|
Catch ex As Exception
|
|
ShowErrorMessage($"Error in FormLoad", ex)
|
|
End Try
|
|
End Sub
|
|
|
|
Private Sub GridViewDoctypesUser_FocusedRowChanged(sender As Object, e As DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs) Handles GridViewDoctypesUser.FocusedRowChanged
|
|
Dim oDTID = GridViewDoctypesUser.GetFocusedRowCellValue(GridViewDoctypesUser.Columns("ID"))
|
|
SELECTED_DTID = oDTID
|
|
LoadFreeUsers()
|
|
LoadRelatedAttributes()
|
|
End Sub
|
|
|
|
Sub LoadRelatedAttributes()
|
|
Dim oDT = GetRelatedUsers(SELECTED_DTID)
|
|
If Not IsNothing(oDT) Then
|
|
GridControlUsersRelated.DataSource = oDT
|
|
End If
|
|
End Sub
|
|
Sub LoadFreeUsers()
|
|
Dim oDT = GetAvailableUsers(SELECTED_DTID)
|
|
If Not IsNothing(oDT) Then
|
|
GridControlFreeUsers.DataSource = oDT
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub SimpleButton1_Click(sender As Object, e As EventArgs) Handles SimpleButton1.Click
|
|
Dim selectedRows As Integer() = GridViewFreeUsers.GetSelectedRows()
|
|
Dim i As Integer = 0
|
|
For Each rowhandle As Integer In selectedRows
|
|
Dim oSelectedUsrID = GridViewFreeUsers.GetRowCellValue(rowhandle, "UserID")
|
|
AddUser(oSelectedUsrID)
|
|
Next
|
|
LoadFreeUsers()
|
|
LoadRelatedAttributes()
|
|
End Sub
|
|
Private Function AddUser(UsrID As Integer) As Boolean
|
|
Try
|
|
Dim oSQL = $"
|
|
INSERT INTO TBDD_USER_DOKTYPE (DOCTYPE_ID,USER_ID,ADDED_WHO)
|
|
VALUES ({SELECTED_DTID},{UsrID},'{My.Application.User.UserName}')"
|
|
Return My.DatabaseECM.ExecuteNonQuery(oSQL)
|
|
Catch ex As Exception
|
|
Logger.Error(ex)
|
|
Return False
|
|
End Try
|
|
End Function
|
|
|
|
Private Sub SimpleButton2_Click(sender As Object, e As EventArgs) Handles SimpleButton2.Click
|
|
Dim selectedRows As Integer() = GridViewUsersRelated.GetSelectedRows()
|
|
Dim i As Integer = 0
|
|
For Each rowhandle As Integer In selectedRows
|
|
Dim oSelectedUsrID = GridViewUsersRelated.GetRowCellValue(rowhandle, "RelID")
|
|
DeleteUserRelation(oSelectedUsrID)
|
|
Next
|
|
LoadFreeUsers()
|
|
LoadRelatedAttributes()
|
|
End Sub
|
|
Public Function DeleteUserRelation(ID As Integer) As Boolean
|
|
Try
|
|
Dim oSQL = $"DELETE FROM TBDD_USER_DOKTYPE WHERE GUID = {ID}"
|
|
Return My.DatabaseECM.ExecuteNonQuery(oSQL)
|
|
Catch ex As Exception
|
|
Logger.Error(ex)
|
|
Return False
|
|
End Try
|
|
End Function
|
|
End Class |