2023-07-20 14:12:24 +02:00

283 lines
13 KiB
VB.net

Public Class frmTemplates
Dim _TEMPLATEID As Integer
Dim _TEMPLATE_ENTITY_ID As Integer
Dim _ENTITY_ID As Integer
Dim loaded As Boolean = False
Private Sub frmTemplates_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Try
Me.TBPMO_TEMPLATETableAdapter.Connection.ConnectionString = MYDB_ECM.CurrentConnectionString
Me.TBPMO_TEMPLATE_ENTITYTableAdapter.Connection.ConnectionString = MYDB_ECM.CurrentConnectionString
Me.TBPMO_TEMPLATE_PATTERNTableAdapter.Connection.ConnectionString = MYDB_ECM.CurrentConnectionString
Catch ex As Exception
MsgBox("Unexpected error in Load Form:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
End Try
Try
DD_DMSDataSet.TBPMO_TEMPLATE.ADDED_WHOColumn.DefaultValue = USER_USERNAME
DD_DMSDataSet.TBPMO_TEMPLATE_ENTITY.ADDED_WHOColumn.DefaultValue = USER_USERNAME
DD_DMSDataSet.TBPMO_TEMPLATE_PATTERN.ADDED_WHOColumn.DefaultValue = USER_USERNAME
Catch ex As Exception
End Try
'Wertehilfen laden
Load_Doctypes()
Load_Entities()
Load_Templates()
End Sub
Sub Load_Templates()
Try
Me.TBPMO_TEMPLATETableAdapter.Fill(Me.DD_DMSDataSet.TBPMO_TEMPLATE)
Catch ex As Exception
MsgBox("Unexpected error in Load Templates:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
End Try
End Sub
Sub Load_Template_Entity(ID As Integer)
Try
Dim sql As String = "SELECT T.GUID, T2.FORM_TITLE, T.ENTITY_ID FROM TBPMO_TEMPLATE_ENTITY T, TBPMO_FORM T1, TBPMO_FORM_VIEW T2 " & _
"WHERE T.ENTITY_ID = T1.GUID And T1.GUID = T2.FORM_ID And T2.SCREEN_ID = 1 And T.TEMPLATE_ID = " & ID
Dim DT As DataTable = MYDB_ECM.GetDatatable(sql)
If DT.Rows.Count > 0 Then
ListBox_Entity.DataSource = DT
ListBox_Entity.DisplayMember = DT.Columns(1).ColumnName
ListBox_Entity.ValueMember = DT.Columns(0).ColumnName
ListBox_Entity.SelectedIndex = 0
End If
Catch ex As Exception
MsgBox("Unexpected error in Load Template-Entities:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
End Try
End Sub
Private Sub TBPMO_TEMPLATEBindingSource_CurrentChanged(sender As Object, e As EventArgs) Handles TBPMO_TEMPLATEBindingSource.CurrentChanged
lblSaveTemplate.Visible = False
lblSaveEntity.Visible = False
Load_entity()
End Sub
Sub Load_Template_Patterns(ID As Integer)
Try
Me.TBPMO_TEMPLATE_PATTERNTableAdapter.Fill(Me.DD_DMSDataSet.TBPMO_TEMPLATE_PATTERN, ID)
Dim DT1 As DataTable = MYDB_ECM.GetDatatable("SELECT [CONTROL_ID] ,CONTROL_COL_NAME AS DISPLAY FROM [VWPMO_CONTROL_SCREEN] WHERE CTRLTYPE_ID in (2,3,4) AND FORM_ID = " & _ENTITY_ID)
cmbControls.DataSource = DT1
cmbControls.DisplayMember = DT1.Columns(1).ColumnName
cmbControls.ValueMember = DT1.Columns(0).ColumnName
Get_CONTROL_COMBOBOX()
Catch ex As Exception
MsgBox("Unexpected error in Load Template-Patterns:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
End Try
End Sub
Private Sub frmTemplates_Shown(sender As Object, e As EventArgs) Handles Me.Shown
loaded = True
Load_entity()
End Sub
Sub Load_entity()
If GUIDTextBox.Text <> "" Then
_TEMPLATEID = GUIDTextBox.Text
Load_Template_Entity(_TEMPLATEID)
End If
End Sub
Sub Load_Doctypes()
Try
VWPMO_DOKUMENTTYPESTableAdapter.Connection.ConnectionString = MYDB_ECM.CurrentConnectionString
Me.VWPMO_DOKUMENTTYPESTableAdapter.FillBy(Me.DD_DMSDataSet.VWPMO_DOKUMENTTYPES)
Catch ex As Exception
MsgBox("Unexpected error in Load Doctypes:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
End Try
End Sub
Sub Load_Entities()
Try
VWPMO_GUI_ENTITYTableAdapter.Connection.ConnectionString = MYDB_ECM.CurrentConnectionString
Me.VWPMO_GUI_ENTITYTableAdapter.Fill(Me.DD_DMSDataSet.VWPMO_GUI_ENTITY)
Catch ex As Exception
MsgBox("Unexpected error in Load Entities:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
End Try
End Sub
Private Sub TBPMO_TEMPLATEBindingNavigatorSaveItem_Click_1(sender As Object, e As EventArgs) Handles TBPMO_TEMPLATEBindingNavigatorSaveItem.Click
Try
Me.Validate()
Me.TBPMO_TEMPLATEBindingSource.EndEdit()
If Me.DD_DMSDataSet.TBPMO_TEMPLATE.GetChanges Is Nothing = False Then
Me.CHANGED_WHOTextBox.Text = USER_USERNAME
Me.TBPMO_TEMPLATEBindingSource.EndEdit()
TBPMO_TEMPLATETableAdapter.Update(DD_DMSDataSet.TBPMO_TEMPLATE)
lblSaveTemplate.Visible = True
Else
lblSaveTemplate.Visible = False
End If
Catch ex As Exception
MsgBox("Unexpected error in Save Template:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
End Try
End Sub
Private Sub btnAddTemplate_Click(sender As Object, e As EventArgs) Handles btnAddTemplate.Click
If Not Me.TEMPLATE_PATHTextBox.Text = "" Then
Me.OpenFileDialog1.FileName = Me.TEMPLATE_PATHTextBox.Text
End If
If Me.OpenFileDialog1.ShowDialog = System.Windows.Forms.DialogResult.OK Then
Me.TEMPLATE_PATHTextBox.Text = Me.OpenFileDialog1.FileName
GetPatterns()
End If
End Sub
Sub GetPatterns()
Dim word As New Microsoft.Office.Interop.Word.Application
Dim doc As New Microsoft.Office.Interop.Word.Document
Try
If DD_DMSDataSet.TBPMO_TEMPLATE_PATTERN.Rows.Count = 0 Then
Dim result As MsgBoxResult
result = MessageBox.Show("Wollen Sie die Platzhalter aus der Vorlage neu laden?", "Frage:", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If result = MsgBoxResult.Yes Then
doc = word.Documents.Open(TEMPLATE_PATHTextBox.Text)
'doc.Activate()
' word.Visible = (True) 'Word sichtbar
For Each cc In doc.ContentControls
If Not IsNothing(cc) Then
LOGGER.Debug("Office-Pattern: " & cc.Tag, False)
If Pattern_exists(cc.tag.ToString.ToUpper) = False Then
TBPMO_TEMPLATE_PATTERNTableAdapter.cmdInsertBasics(cc.tag.ToString, USER_USERNAME, _TEMPLATE_ENTITY_ID)
End If
End If
Next cc
' doc.ContentControls().Item("Name").Range.Text = "Schreiber"
'Textmarken füllen
' doc.().Item("Name").Range.Text = "Schreiber"
'doc.Bookmarks().Item("Vorname").Range.Text = "Marlon"
'doc.Bookmarks().Item("Produktion").Range.Text = "Testproduktion"
'doc.Close()
'speichern / drucken
'doc.SaveAs("c:\Proforma.doc")
'doc.PrintOut()
doc.Close()
doc = Nothing
word.Quit()
MsgBox("Die Platzhalter wurden erfolgreich aktualisiert!", MsgBoxStyle.Information)
End If
End If
Catch ex As Exception
MsgBox("Unexpected error in Get/set Patterns:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
doc.Close()
doc = Nothing
word.Quit()
End Try
Load_Template_Patterns(_TEMPLATE_ENTITY_ID)
End Sub
Private Function Pattern_exists(name As String)
Try
Dim sql = "select count(*) from TBPMO_TEMPLATE_PATTERN where UPPER(NAME_PATTERN) = UPPER('" & name & "') AND TEMPLATE_ENT_ID = " & _TEMPLATE_ENTITY_ID
Dim result = MYDB_ECM.GetScalarValue(SQL)
If IsNothing(result) Then
Return False
ElseIf result = 1 Then
Return True
ElseIf result = 0 Then
Return False
End If
Catch ex As Exception
MsgBox("Unexpected error in Pattern Exists:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
Return False
End Try
End Function
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
If cmbEntities.SelectedIndex <> -1 Then
Try
TBPMO_TEMPLATE_ENTITYTableAdapter.Insert(_TEMPLATEID, cmbEntities.SelectedValue, USER_USERNAME)
Load_Template_Entity(_TEMPLATEID)
lblSaveEntity.Visible = True
Catch ex As Exception
MsgBox("Unexpected error in Add Template2Entity:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
lblSaveEntity.Visible = False
End Try
End If
End Sub
Private Sub btndeleteEntityZO_Click(sender As Object, e As EventArgs) Handles btndeleteEntityZO.Click
Try
TBPMO_TEMPLATE_ENTITYTableAdapter.Delete(ListBox_Entity.SelectedValue)
Load_Template_Entity(_TEMPLATEID)
lblSaveEntity.Visible = True
Catch ex As Exception
MsgBox("Unexpected error in Delete Template2Entity:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
lblSaveEntity.Visible = False
End Try
End Sub
Private Sub ToolStripButton16_Click(sender As Object, e As EventArgs) Handles ToolStripButton16.Click
Load_Template_Patterns(_TEMPLATE_ENTITY_ID)
End Sub
Private Sub ListBox_Entity_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListBox_Entity.SelectedIndexChanged
_TEMPLATE_ENTITY_ID = ListBox_Entity.SelectedValue
_ENTITY_ID = MYDB_ECM.GetScalarValue("SELECT ENTITY_ID FROM TBPMO_TEMPLATE_ENTITY WHERE GUID = " & _TEMPLATE_ENTITY_ID)
Load_Template_Patterns(_TEMPLATE_ENTITY_ID)
End Sub
Private Sub ToolStripButton10_Click(sender As Object, e As EventArgs) Handles ToolStripButton10.Click
TBPMO_TEMPLATE_PATTERNTableAdapter.Delete(ListBoxPatterns.SelectedValue)
Load_Template_Patterns(_TEMPLATE_ENTITY_ID)
End Sub
Private Sub cmbControls_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cmbControls.SelectedIndexChanged
If loaded = False Then Exit Sub
If cmbControls.SelectedIndex <> -1 Then
If cmbControls.Text <> "System.Data.DataRowView" Then
Dim Sql = "select TOP 30 [" & cmbControls.Text & "] FROM VWPMO_ENTITY_TABLE" & _ENTITY_ID & " WHERE [" & cmbControls.Text & "] IS NOT NULL AND [" & cmbControls.Text & "] <> '' GROUP BY [" & cmbControls.Text & "]"
Dim DT As DataTable = MYDB_ECM.GetDatatable(sql)
If DT.Rows.Count > 0 Then
ListBoxVorschau.DataSource = DT
ListBoxVorschau.DataSource = DT
ListBoxVorschau.DisplayMember = DT.Columns(0).ColumnName
End If
If FIXED_VALUETextBox.Text <> "" Then
Dim name = "SELECT COL_NAME FROM TBPMO_CONTROL WHERE GUID = " & FIXED_VALUETextBox.Text
name = MYDB_ECM.GetScalarValue(name)
If cmbControls.Text <> name Then
btnRefreshControlPattern.Visible = True
Else
btnRefreshControlPattern.Visible = False
End If
Else
btnRefreshControlPattern.Visible = True
End If
End If
End If
End Sub
Private Sub tsbtnGetPatterns_Click(sender As Object, e As EventArgs) Handles tsbtnGetPatterns.Click
GetPatterns()
End Sub
Private Sub ToolStripButton15_Click(sender As Object, e As EventArgs) Handles ToolStripButton15.Click
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles btnRefreshControlPattern.Click
If cmbControls.SelectedIndex <> -1 Then
Dim ctrlstring = cmbControls.SelectedValue.ToString
Dim sql = String.Format("UPDATE TBPMO_TEMPLATE_PATTERN SET FIXED_VALUE = '{0}',CHANGED_WHO = '{1}' WHERE GUID = {2}", ctrlstring, USER_USERNAME, GUIDTextBox2.Text)
If MYDB_ECM.ExecuteNonQuery(Sql) Then
FIXED_VALUETextBox.Text = ctrlstring
lblSavePattern.Visible = True
Else
lblSavePattern.Visible = False
End If
End If
End Sub
Private Sub TBPMO_TEMPLATE_PATTERNBindingSource_CurrentChanged(sender As Object, e As EventArgs) Handles TBPMO_TEMPLATE_PATTERNBindingSource.CurrentChanged
If loaded = True Then
Get_CONTROL_COMBOBOX()
lblSavePattern.Visible = False
End If
End Sub
Sub Get_CONTROL_COMBOBOX()
If IsNumeric(FIXED_VALUETextBox.Text) Then
Dim name = "SELECT COL_NAME FROM TBPMO_CONTROL WHERE GUID = " & FIXED_VALUETextBox.Text
name = MYDB_ECM.GetScalarValue(name)
cmbControls.SelectedIndex = cmbControls.FindStringExact(name)
Else
btnRefreshControlPattern.Visible = True
End If
End Sub
End Class