MS Relations Doctype
This commit is contained in:
103
GUIs.ZooFlow/Administration/frmAdmin_GlobixRelations.vb
Normal file
103
GUIs.ZooFlow/Administration/frmAdmin_GlobixRelations.vb
Normal file
@@ -0,0 +1,103 @@
|
||||
Public Class frmAdmin_GlobixRelations
|
||||
Private SELECTED_DTID As Integer
|
||||
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)
|
||||
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 Shared 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
|
||||
Reference in New Issue
Block a user