RecordOrganizer/app/DD-Record-Organizer/frmLanguage_Translator.vb
2023-05-22 16:55:44 +02:00

150 lines
6.8 KiB
VB.net

Imports System.Text
Imports System.IO
Public Class frmLanguage_Translator
Private Sub btnclearFilter_Click(sender As Object, e As EventArgs) Handles btnclearFilter.Click
cmbLanguage.SelectedIndex = -1
cmbObjectgroup.SelectedIndex = -1
End Sub
Public Sub Clear_Grid_View()
GridControlObjects.DataSource = Nothing
TBPMO_LANGUAGE_OBJECTBindingSource.DataSource = Nothing
End Sub
Sub Load_GridData()
Try
Dim group As String
Select Case cmbObjectgroup.Text
Case "Constructor titles"
group = "CONSTR_MENUE"
Case "Entity titles"
group = "FORMVIEW_TITLE"
Case "Doctype titles"
group = "DOCTYPE_TITLE"
Case "Workflow titles"
group = "TASK_TITLE"
Case "Worflow state titles"
group = "WF_STATE_TITLE"
End Select
Dim sql = "select * from TBPMO_LANGUAGE_OBJECT where LANGUAGE_TYPE = '@LANGUAGE' AND PMO_OBJECT_NAME like '%@OBJECT%'"
If cmbLanguage.SelectedIndex = -1 And cmbObjectgroup.SelectedIndex = -1 Then
sql = "select * from TBPMO_LANGUAGE_OBJECT"
ElseIf cmbLanguage.SelectedIndex <> -1 And cmbObjectgroup.SelectedIndex <> -1 Then
sql = sql.Replace("@LANGUAGE", cmbLanguage.Text)
sql = sql.Replace("@OBJECT", group)
ElseIf cmbLanguage.SelectedIndex <> -1 And cmbObjectgroup.SelectedIndex = -1 Then
sql = sql.Replace("@LANGUAGE", cmbLanguage.Text)
sql = sql.Replace("AND PMO_OBJECT_NAME like '%@OBJECT%'", "")
ElseIf cmbLanguage.SelectedIndex = -1 And cmbObjectgroup.SelectedIndex <> -1 Then
sql = sql.Replace("LANGUAGE_TYPE = '@LANGUAGE' AND", "")
sql = sql.Replace("@OBJECT", group)
End If
Dim DT_OBJ As DataTable = MYDB_ECM.GetDatatable(sql)
Clear_Grid_View()
If Not IsNothing(DT_OBJ) Then
TBPMO_LANGUAGE_OBJECTBindingSource1.DataSource = DT_OBJ
GridControlObjects.DataSource = TBPMO_LANGUAGE_OBJECTBindingSource1
TBPMO_LANGUAGE_OBJECTBindingNavigator.BindingSource = TBPMO_LANGUAGE_OBJECTBindingSource1
' --- Editoren laden für Combobox ---
'Create_Grid_Editor(POS_ENTITY)
'HideColumns_Pos(PARENT_RECORDID)
For Each col As DevExpress.XtraGrid.Columns.GridColumn In grvwGridObjects.Columns
Dim column As DevExpress.XtraGrid.Columns.GridColumn = col
Next
End If
Catch ex As Exception
MsgBox("Error in Load_GridData:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
End Try
End Sub
Private Sub tsbtnRefresh_Grid_Click(sender As Object, e As EventArgs) Handles tsbtnRefresh_Grid.Click
Load_GridData()
End Sub
Private Sub cmbLanguage_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cmbLanguage.SelectedIndexChanged
End Sub
Private Sub frmLanguage_Translator_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
Save_POSGrid_Layout()
End Sub
Private Sub frmLanguage_Translator_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Load_POSGrid_Layout()
End Sub
Sub Save_POSGrid_Layout()
Try
Dim Filename As String = String.Format("{0}-UserLayout.xml", grvwGridObjects.Name)
Dim XMLPath = System.IO.Path.Combine(Application.UserAppDataPath(), Filename)
grvwGridObjects.SaveLayoutToXml(XMLPath)
Catch ex As Exception
MsgBox("Error in Save_POSGrid_Layout:" & vbNewLine & ex.Message)
End Try
End Sub
Sub Load_POSGrid_Layout()
Try
Dim Filename As String = String.Format("{0}-UserLayout.xml", grvwGridObjects.Name)
Dim XMLPath = System.IO.Path.Combine(Application.UserAppDataPath(), Filename)
If File.Exists(XMLPath) Then
grvwGridObjects.RestoreLayoutFromXml(XMLPath)
End If
Catch ex As Exception
MsgBox("Error in Load_POSGrid_Layout:" & vbNewLine & ex.Message)
End Try
End Sub
Private Sub tsbtnExcel_Click(sender As Object, e As EventArgs) Handles tsbtnExcel.Click
Dim saveFileDialog1 As New SaveFileDialog
saveFileDialog1.Filter = "Excel File|*.xlsx"
saveFileDialog1.Title = "Export to Excel:"
saveFileDialog1.ShowDialog()
If saveFileDialog1.FileName <> "" Then
Cursor = Cursors.WaitCursor
GridControlObjects.MainView.ExportToXlsx(saveFileDialog1.FileName)
Dim result As MsgBoxResult
result = MessageBox.Show("Export file was created! Open the file right now?", "Exportresult:", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If result = MsgBoxResult.Yes Then
Process.Start(saveFileDialog1.FileName)
End If
End If
Cursor = Cursors.Default
End Sub
Public Function Get_Focused_Row_Cell_Value_pos(columnName As String)
Return grvwGridObjects.GetFocusedRowCellValue(grvwGridObjects.Columns(columnName))
End Function
Private Sub grvwGridObjects_CellValueChanged(sender As Object, e As DevExpress.XtraGrid.Views.Base.CellValueChangedEventArgs) Handles grvwGridObjects.CellValueChanged
Try
Dim column = e.Column.FieldName
If e.Column.FieldName = "CAPTION" Or e.Column.FieldName = "HINT" Then
Dim Grid_RecordID = Get_Focused_Row_Cell_Value_pos("GUID")
If Grid_RecordID Is Nothing Then
ts_statelbl.Text = "GUID could not be read"
ts_statelbl.Visible = True
ts_statelbl.BackColor = Color.Red
Exit Sub
End If
Dim upd = String.Format("UPDATE TBPMO_LANGUAGE_OBJECT SET {3} = '{0}', CHANGED_WHO = '{1}' WHERE GUID = {2}", e.Value, USER_USERNAME, Grid_RecordID, e.Column.FieldName)
If MYDB_ECM.ExecuteNonQuery(upd) = True Then
ts_statelbl.Text = "Row/ID (" & Grid_RecordID.ToString & ") Updated - " & Now
ts_statelbl.BackColor = Color.Yellow
ts_statelbl.Visible = True
Else
ts_statelbl.Text = "Error in updating value - Check Logfile"
ts_statelbl.Visible = True
ts_statelbl.BackColor = Color.Red
End If
Else
ts_statelbl.Visible = False
End If
Catch ex As Exception
MsgBox("Error in grvwGridObjects_CellValueChanged:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
End Try
End Sub
End Class