MS Save Layout

This commit is contained in:
SchreiberM 2022-06-21 11:10:51 +02:00
parent 4860713d17
commit 8fd3d1794f
4 changed files with 245 additions and 307 deletions

View File

@ -4,32 +4,35 @@ Imports PdfSharp.Pdf.IO
Imports PdfSharp.Drawing
Public Class ClassAnnotation
Public Shared Function Annotate_PDF(title As String, content As String, page As Integer, fromGui As Boolean, Optional ycorrect As Integer = 0, Optional sizecorrect As Integer = 0)
Try
Dim doc As PdfDocument = PdfReader.Open(CURRENT_DOC_PATH, PdfDocumentOpenMode.Modify)
Dim firstPage As PdfPage = doc.Pages(page)
If CURRENT_DOC_PATH.Length > 0 Then
Try
Dim doc As PdfDocument = PdfReader.Open(CURRENT_DOC_PATH, PdfDocumentOpenMode.Modify)
Dim firstPage As PdfPage = doc.Pages(page)
Dim gfx As XGraphics = XGraphics.FromPdfPage(firstPage)
Dim rect As XRect = gfx.Transformer.WorldToDefaultPage(New XRect(New XPoint(30, 60 + ycorrect), New XSize(60 + sizecorrect, 40 + sizecorrect)))
Dim gfx As XGraphics = XGraphics.FromPdfPage(firstPage)
Dim rect As XRect = gfx.Transformer.WorldToDefaultPage(New XRect(New XPoint(30, 60 + ycorrect), New XSize(60 + sizecorrect, 40 + sizecorrect)))
Dim annot As PdfTextAnnotation = New PdfTextAnnotation
Dim annot As PdfTextAnnotation = New PdfTextAnnotation
annot.Title = title
'annot.Subject = txtsubject.Text
annot.Contents = content
annot.Rectangle = New PdfRectangle(rect)
annot.Title = title
'annot.Subject = txtsubject.Text
annot.Contents = content
annot.Rectangle = New PdfRectangle(rect)
firstPage.Annotations.Add(annot)
doc.Save(CURRENT_DOC_PATH)
Return True
Catch ex As Exception
If fromGui = True Then
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error in Annotate pdf:")
End If
LOGGER.Error(ex)
LOGGER.Info("Unexpected error in Annotate pdf: " & ex.Message, False)
Return False
End Try
firstPage.Annotations.Add(annot)
doc.Save(CURRENT_DOC_PATH)
Return True
Catch ex As Exception
If fromGui = True Then
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error in Annotate pdf:")
End If
LOGGER.Error(ex)
LOGGER.Info("Unexpected error in Annotate pdf: " & ex.Message, False)
Return False
End Try
End If
End Function
End Class

View File

@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices
' übernehmen, indem Sie "*" eingeben:
' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("2.3.7.3")>
<Assembly: AssemblyVersion("2.3.7.4")>
<Assembly: AssemblyFileVersion("1.0.0.0")>

View File

@ -125,7 +125,7 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADw
CAAAAk1TRnQBSQFMAgEBAgEAAcQBCAHEAQgBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
CAAAAk1TRnQBSQFMAgEBAgEAAcwBCAHMAQgBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
@ -511,168 +511,96 @@
</data>
<data name="NotifyIcon1.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAEAMDAAAAEAIACoJQAAFgAAACgAAAAwAAAAYAAAAAEAIAAAAAAAgCUAABMLAAATCwAAAAAAAAAA
AAAxJKXfMSSl8jEkpe4uIqHuMCSk7lhC3e5eSOfuWELe7llD3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf7llD
3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf7llD3+5ZQ9/uW0Th7ldC3e43KK3uVkDa7l5G5e5YQ97uYEnp7j4v
uO4hF47uQDC77mBI6e5ZQ9/uWUPf7llD3+5YQt3uW0Xi7mBJ6u5fSOfuWUPf7lhC3u5ZQ9/uWUPf7llD
3+5ZQ9/uWUPf8llD398xJKX/MCOi/zIlqP84Kbz/LyKv/0Ewyf9oTvz/X0jm/19H5/9fR+f/X0fn/19H
5/9fR+f/X0fn/19H5/9fR+f/X0fn/19H5/9fR+f/X0fn/19H5/9fR+f/Xkfm/2hO8v9MOdP/Py7H/2ZN
9/9eR+X/ZUzx/1dB2f8rH6T/PS3D/2JK7P9gSOj/X0fn/19H5/9hSev/WELc/0w5zv9WQen/ZEv7/2FJ
6/9eR+X/X0fn/19I6P9aROH/WELe/1lD3/8xJKXuMiWp/zAjoP8pHov/KR6L/yEYfv9GM7//W0To/1A8
0P9RPdT/UT3U/1E91P9RPdT/UT3U/1E91P9RPdT/UT3U/1E91P9RPdT/UT3U/1E91P9RPdP/UT3T/11G
9f9PO8z/HBRu/z8vrf9ZQ+X/UT3U/1lD4/8tIY7/Jx2H/1VA3f9TPtX/UT3U/1E91P9WQdv/SDbK/ycd
kf8bFG//OSuk/1hC4P9SPtX/UT3U/1E90/9YQt3/WkTh/1lD3+4xJKXuOCm8/ykeiv8AAAD/AAAA/wAA
AP8CAQ//MSOs/zAjqf8sIZ7/LSGf/y0hn/8tIZ//LSGf/y0hn/8tIZ//LSGf/y0hn/8tIZ//LSGf/ywh
nf8tIZ//OCnD/yIZfP8AAAX/AAAA/ygekv8xJK7/LCCc/zUnuv8fFmT/AAAA/y0hn/8wJKr/LSGf/y0h
n/8sIJ3/MiWq/zYosf8GBBb/AAAA/yAYd/81J7n/LCCd/ygdmP9QPNP/YEjo/1lD3+4xJKXuNym6/yke
i/8AAAD/AAAA/wAAAP8AAAD/GhNb/zwsyv8wI6D/MCOk/zAjpP8wI6T/MCOk/zAjpP8wI6T/MCOk/zAj
pP8wI6T/MCOj/zAkpP88K8r/Ihlx/wAAAP8AAAD/KB2G/zorxP8vI6D/MCSk/zAkpP86KsT/DAkn/xoT
WP87K8f/LyOh/zAjpP8wI6T/LyOi/zkqwv8RDDr/AAAA/xkSVv87K8j/LyKg/ywgnv9RPdT/X0fn/1lD
3+4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AgII/zMmrP81J7L/MSSl/zEkpf8xJKX/MSSl/zEk
pf8xJKX/MSSl/zEkpf8xJKX/MCSi/z0szP8jGnf/AAAA/wAAAP8hGG7/PCzK/zAko/8xJKX/MSSl/zAk
o/83Kbv/KR6J/wsIJf83KLn/MiWo/zEkpf8xJKX/MSSn/zcpu/8NCSv/AAAA/w0KK/87K8f/MSSm/y0h
nv9RPdT/X0fn/1lD3+4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AAAA/xsUXP88LMr/MCOh/zEk
pf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8wI6D/OyvH/ykdif8AAAD/AAAA/x8Xav89Lc3/MSSm/zEk
pP8xJKX/MSSl/zEkpf8wI6L/OyvG/wsJJ/8ZE1b/PCzK/zAjof8xJKX/MSSk/zsrxf8WEEj/AAAA/wAA
AP8kGnr/Pi7T/y0hnv9RPdP/X0fn/1lD3+4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AAAA/wQD
D/80J7H/Myat/zEkpf8xJKX/MSSl/zEkpf8wJKT/MSSk/zEkpf87K8T/MCOh/wAAAP8AAAD/JBp3/zws
yv8xJKb/MCSj/zEkpf8xJKX/MSSl/zEkpf8xJKP/OirF/x4WZf8AAAD/Myas/zYotv8xJKP/MSSk/zco
uP8uIZn/AAAA/wAAAP8AAAH/Ihlz/zUnu/9RPdP/X0fn/1lD3+4xJKXuNym6/ykejP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8jGnb/OivE/zEko/8xJKP/MSSk/zQnsP86KsL/OirC/zkqv/81J7P/BwUW/wIB
Bf8qH4//QjHd/zkqwv86KsL/Nyi4/zIlp/8wI6L/MSSl/zEkpf8xJKX/Nii1/y8inf8AAAD/Dwsz/zws
yv8xJKT/MSSm/zAkov86KsT/Ixp4/wAAAP8AAAD/AAAA/yQbgv9ZQ+//Xkfk/1lD3+4xJKXuNym6/yke
jP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8QDDb/OSrA/zAjof83KLn/OirE/zEkp/8jGXX/FA5C/w4K
L/8DAgv/AAAA/wQDDf8PCzL/DAkq/xMOQf8gF2z/LCCT/zcpuv87K8b/NCaw/zAjov8xJKX/MiWp/zYn
tf8HBRj/AAAA/ykeif85KsD/MCSj/zEkpP8xJKX/OirD/y4imv8KByL/AAAA/wUDGP9YQen/X0jq/1lD
3+4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8BAQX/MSSl/z8v1f8uIpv/FQ9I/wQD
D/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/w0KLf8gF2z/MyWr/zsr
x/8zJq7/LyOf/zsrxf8WEEr/AAAA/w8LMf86K8P/MSSk/zEkpf8xJKT/MCOi/zssx/81J7T/BAMQ/wAA
AP9OO8b/Y0v4/1lD3+4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/KB2E/ycd
hP8AAAH/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/BgQT/x4WZv83KLf/OSq+/zwsyv8qH4//AAAA/wAAAP8tIZf/Nii2/zEkpf8xJKX/MSSl/zAj
n/89Lc3/HhZp/wAAAP9NOsH/Y0v4/1lD3+4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/BAMN/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8JBx//LCCS/zoqw/8gF2v/AAAA/wAAAP8dFV//OivD/zEk
pP8xJKX/MSSl/zEko/85KsD/JBp6/wAABf9UP97/YEjs/1lD3+4xJKXuNym6/ykejP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wQACP8AAAD/AAAA/wAA
AP8ZD1L/Oi7E/zEkpP8wJKP/MSSk/zQnr/9BL9n/EQw7/xINQ/9bRPT/Xkfl/1lD3+4xJKXuNym6/yke
jP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8UWGH/GW50/xpydf8RS1b/AAAA/wAA
AP8AAAD/AAAA/wAAAP8FFRf/GWtz/xdmc/8bc3b/Cy81/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wg0
K/8acnP/FmZx/xZncf8nJoj/MRug/zMlq/86K8P/OSrB/zQmsP8ZE1b/CAYc/zEkr/9TP9v/X0fn/1lD
3+4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8y3fX/P////0L/
//8rvdn/AAAA/wAAAP8AAAD/AAAA/wAAAP8MNDn/Pf///zr///9E////G3eH/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/yGPm/9E////Of///zj///8pN5b/Mwyh/zcpuP8jGnb/EQ07/wAAAP8CAQT/LyKe/zQm
t/9QPND/X0fn/1lD3+4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8rvNT/Nuz//zj1//8loLv/AAAA/wAAAP8AAAD/AAAA/wAAAP8KLTH/NOT//zLa//86/f//F2Z0/wAA
AP8AAAD/Bhke/wUWGv8AAAD/AAAA/xx5hv86/P//MNv//zHd/P8sNZ7/Iwls/wwJKP8AAAD/AAAA/w0J
Lf82J7X/OCm8/ysfmf9RPdP/ZEvu/2BJ6u4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8rvdT/Nu3//zj2//8lobv/AAAA/wAAAP8AAAD/AAAA/wAAAP8KLTH/NOX//zLb
//86/f//F2Z0/wAAAP8AAAD/I5en/yGOm/8AAAD/AAAA/xx6hv86/P//Mtz//zXh//8VKlD/AAAA/wAA
AP8CAQf/HhZk/zkqwv81KLT/LiKf/zMmtf9aROb/WkTf/0Ixve4xJKXuNym6/ykejP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8rvdT/Nu3//zj2//8lobv/AAAA/wAAAP8AAAD/AAAA/wAA
AP8KLTH/NOX//zLb//86/f//F2Z0/wAAAP8AAAD/M+D8/zDU8f8AAAD/AAAA/xx6hv86/P//M93//zLg
/f8EIhf/BwIY/xsUXP8xJKX/OyvH/zEkpv81J7L/OivE/yYdgv81KJ//MyWt/ygdmO4xJKXuNym6/yke
jP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8rvdT/Nu3//zj2//8lobv/AAAA/wAA
AP8AAAD/AAAA/wAAAP8KLTH/NOX//zLb//86/f//F2d1/wAAAP8NPEH/Ofr//zj1//8LLjH/AAAA/xx7
h/86/P//Mt3//zDe+f8IJCb/Jwh7/z4t0P81J7T/MCOg/zorxP8yJar/FA9D/wAAAP8gF3f/Nii6/zIl
pu4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8rvdT/Nu3//zj2
//8lobv/AAAA/wAAAP8AAAD/AAAA/wAAAP8KLTH/NOb//zLb//86/f//F2Zz/wAAAP8ilan/Ovz//zv/
//8giJr/AAAA/xx6hv86/P//Mt3//zPg//8AHg3/FwFH/zgqvf8xJaf/PCzK/ykdiP8EAw7/AAAA/wAA
AP8qH4//Nym6/zEkpe4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8rvdT/Nu3//zn7//8jmbD/AAAA/wAAAP8AAAD/AAAA/wAAAP8KLTL/NOX//zLc//86/f//E1Jd/wAA
AP8z4Pz/NOL//zXn//8x1vP/AAAA/xhpc/86/P//Mt3//zPg//8BHg3/CAAT/zkqvv89Lc3/Hxdq/wAA
AP8AAAD/AAAA/wAAAP8pHoz/Nym6/zEkpe4uIaDuNCe3/yYch/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8rvdT/Nu7//zTi//8swuP/IImY/x6Bjf8VV1v/AwwN/wAAAP8JJSr/NOP//zLb
//87/v//Dj1G/w04PP87////Mdf//zLY//86////DDQ5/xNSW/86/f//Mt3//zPg//8EIRj/AAAA/zws
yf8gFmj/AAAA/wAAAP8AAAD/AAAA/wAAAP8pHoz/Nym6/zEkpe4zJqjuOCq8/yofj/8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8rvdT/Nu7//zDQ//8z4P//Ovz//zv///87/f//M+Dn/xJP
U/8BBAf/L872/zLZ//85+f//E1Nd/yGQof849v//Mdn//zLZ//85+P//H4mb/xRaX/85+f//Mt3//zPg
//8GIx//AgAC/xgSUv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8pHoz/Nym6/zEkpe5cRePuX0jp/1E9
1P8qH5b/JBt7/xMNP/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8rvdT/Nu7//zDS//8z3f//N+///zTi
//8w0///Nu3//zn7//8ceon/I5e4/zHU//8z3v7/Ipao/y7K7P86+///IZCi/yKVqv85+v//LMHh/yKW
pv805P//M93//zPg//8IJCj/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8pHoz/Nym6/zEk
pe5ZQ97uY0rq/1hC3/83KMP/QTDf/0Qy5f8xJKT/Cwgn/wAAAP8AAAD/AAAA/wAAAP8rvdT/Nu7//zLb
//8uzO//KrXR/zDS8P848///MNP//zPg//815f//JJy4/yu74P8w0fz/Mdj7/zLa//86////Ci0x/w05
Pf87////Mtf//zLY//8w0///M9///zPg//8IJCf/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8pHoz/Nym6/zEkpe4xJKXuOyu8/zEkmP8OCzL/FxFN/x0VYP8vIpv/KR6J/wcEFf8AAAD/AAAA/wAA
AP8rvdT/Nu3//zn4//8knLX/AAAA/wUUFf8ehZH/N+///zHU//805P//KbHQ/yalxf8x0/v/M93//zXn
//8x1/X/AAAA/wEDAf8z4P3/NOP//zLb//8x1f//M9///zPg//8IJCf/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8pHoz/Nym6/zEkpe4uIqHuMya2/yQagv8AAAD/AAAA/wAAAP8AAAD/AgII/wMC
Cv8AAAD/AAAA/wAAAP8rvdT/Nu3//zj3//8loLn/AAAA/wAAAP8AAAD/MdPu/zTl//804v//KrjZ/ySf
vf8v0Pj/MdT//zv///8hj6L/AAAA/wAAAP8knLH/Ov7//zHT//8x1v//M9///zPg//8IJCf/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8pHoz/Nym6/zEkpe4xJKXuNym6/ykejP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8rvdT/Nu3//zn5//8knbb/AAAA/wAAAP8BBQT/Mtzy/zTi
//804v//KrfY/ySfvf8v0Pj/Mdf//zr6//8OO0D/AAAA/wAAAP8QR0//Ovz//zHU//8x1v//M9///zPg
//8IJCf/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8pHoz/Nym6/zEkpe4xJKXuNym6/yke
jP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8rvdT/Nu3//zjz//8lo77/Aw8R/ww1
OP8mpLP/Nu7//zDT//805f//KK/P/yakxP8w0vr/N/D//y3G5f8AAAD/AAAA/wAAAP8BBAP/L83s/zbq
//8x1v//M9///zPg//8IJCf/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8pHoz/Nym6/zEk
pe4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8qvdL/Nu7//zHW
//8x1Pz/MNL0/zbs//849P//L87//zTj//805f//I5i0/yu63v8w0f7/PP///xt5h/8AAAD/AAAA/wAA
AP8AAAD/HoST/zv///8w0///M9///zPg//8IJCf/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8pHoz/Nym6/zEkpe4xJKXuNym6/ygdi/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wEA
Av8svNf/Nu3//zDT//8y2f//NOP//zLZ//8x1///OPf//zn1//8acHz/IpS2/zHR/P8y2v//Nu3//wgm
KP8AAAD/AAAA/wAAAP8AAAD/CzA1/zj0//8x2P//M97//zPf//8IJCf/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8pHoz/Nym6/zEkpe4qHpruMSSy/yQbhP8AAAD/AAAA/wAAAP8CAgf/CQcf/xAM
N/8aE1f/IhRw/yQNdP8v1/D/N////zn6//85+///Ofv//zr7//837v//LsfO/w9AQv8CCw3/OPT//zr+
//9C////K7vV/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/y7H5P9B////Ov///zb///8JKiz/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8pHoz/Nym6/zEkpe5HNcTuUj7Y/0k3xf8lHIX/KR6M/ywg
lP8vIp3/NCaw/zkqvv86K8X/OCW6/y8dnP8uYrf/HG6G/xBeWv8XZXP/F2Vy/xRVYP8MNDL/AAAA/wAA
AP8EERT/GGt5/xhmc/8bdnb/Ci4z/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/ww0Of8adnH/FWNr/yJr
lv8BDwv/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8pHoz/Nym6/zEkpe5gSeruZUzv/1dB
3v8zJbT/Nie5/zYotv81J7L/MyWq/zEkpf8wJKP/MSWj/zAloP8tBYz/JgBx/wUABP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/FAA4/y8Bkf8EAA7/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8pHoz/Nym6/zEk
pe5ZQ9/uX0fn/1E91P8tIZ//MCOk/zEkpf8xJKX/MSSl/zEkpf8xJKX/MSSk/zEkpP8wJKD/NCew/zYn
tP8aElb/AQAC/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wEAA/8jGXT/OCm8/zkswv8oHoj/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8pHoz/OCq7/y4ioO5ZQ9/uX0fn/1E91P8tIZ//MCOk/zEkpf8xJKX/MSSl/zEkpP8wJKP/MSSl/zMl
qv82KLX/OCm9/z4uz/9DMeD/LCGV/wkHH/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/Ew4+/y8inv87K8f/MiWn/zAkov87LMf/Ixp2/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8kGoL/LiGt/zIlp+5ZQ9/uX0fn/1E91P8tIZ//MSOm/zMmrP81J7P/Nym6/zkq
wf86K8P/OCm9/zUnsv8uIpv/Jx2B/xsUW/8QDDj/DAkp/wQDDP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8BAQL/CAYc/xcRTv8qH4z/OSrA/zcpuv8wI6H/MSSl/zEkpP8xJKX/OivE/ysg
kv8RDTr/AgEG/wAAAP8AAAD/AAAA/wAAAP8vI5b/SzjX/1lD3u5gSeruZ03w/1hC4f80Jrf/Nie3/zMl
q/8uIpv/Kh6M/yEYcf8bFFv/Eg08/woHIv8BAQX/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wgGHP8mG33/Ixp1/yUbfP8tIZb/NCav/zorxf84Kbz/MSSl/zAko/8xJKX/MSSl/zEk
pf8xJKT/MCOi/zgpvP85Kr7/LiKa/yQaeP8hGG//Ixp2/ycdjf9VQNz/aE71/1xF5O5EM8DuSTfQ/zor
qv8PCzb/DQks/wcFGP8BAQT/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/Dgow/zYouP89Lc//OSrA/zgqv/82KLb/MyWr/zEko/8xJKT/MSSl/zEk
pf8xJKX/MSSl/zEkpf8xJKX/MSSl/zAko/8xJKb/NSe0/zkqwP85KsL/OCm//zIlsf9SPtb/Xkbl/1lD
3+4pHpruMCOx/yIZf/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8UD0T/OSrB/zcpuP8vI5//MSSk/zEkpP8xJKX/MSSl/zEk
pf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpP8xJKT/MCOj/y0h
n/9RPdT/X0fn/1lD3+4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/xoTWf87LMn/NSey/zAjof8xJKX/MSSl/zEk
pf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEk
pf8xJKX/MCOk/y0hn/9RPdT/X0fn/1lD3+4xJKXuNym6/ykejP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/IRhw/z0tzf8zJa3/MCOi/zEk
pf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEkpf8xJKX/MSSl/zEk
pf8xJKX/MSSl/zEkpf8xJKX/MCOk/y0hn/9RPdT/X0fn/1lD3+4xJKXuNym6/ykei/8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8mHIL/PCzK/zEk
pv8wI6L/MCOk/zAjpP8wI6T/MCOk/zAjpP8wI6T/MCOk/zAjpP8wI6T/MCOk/zAjpP8wI6T/MCOk/zAj
pP8wI6T/MCOk/zAjpP8wI6T/MCOk/zAjpP8wI6T/LyKj/ywgnv9RPdT/X0fn/1lD3+4xJKXuOCm8/yke
iv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAM/ygd
jv84KcT/LSGd/ywhnv8tIZ//LSGf/y0hn/8tIZ//LSGf/y0hn/8tIZ//LSGf/y0hn/8tIZ//LSGf/y0h
n/8tIZ//LSGf/y0hn/8tIZ//LSGf/y0hn/8tIZ//LSGf/y0hn/8tIZ//LCCe/ygdmP9QPNP/YEjo/1lD
3+4xJKXuMiWp/zAjoP8pHov/KR6L/ykejP8pHoz/KR6M/ykejP8pHoz/KR6M/ykejP8qHoz/Kx+N/yEX
f/8rIIz/Uz7U/1tE8P9QPdD/UT3U/1E91P9RPdT/UT3U/1E91P9RPdT/UT3U/1E91P9RPdT/UT3U/1E9
1P9RPdT/UT3U/1E91P9RPdT/UT3U/1E91P9RPdT/UT3U/1E91P9RPdT/UT3U/1E91P9RPdT/UT3U/1E9
0/9YQt3/WkTh/1lD3+4xJKX/MCOi/zIlqP83Kbv/Nym7/zcpuv83Kbr/Nym6/zcpuv83Kbr/Nym6/zcp
uv84Kbv/LyKu/zwswf9jSvv/Zk33/11H4/9fR+f/X0fn/19H5/9fR+f/X0fn/19H5/9fR+f/X0fn/19H
5/9fR+f/X0fn/19H5/9fR+f/X0fn/19H5/9fR+f/X0fn/19H5/9fR+f/X0fn/19H5/9fR+f/X0fn/19H
5/9fR+f/X0fn/19I6P9aROH/WELe/1lD3/8xJKXfMSSl8jEkpe4xJKXuMSSl7jEkpe4xJKXuMSSl7jEk
pe4xJKXuMSSl7jEkpe4sIJ3uOyyz7mBJ6e5fR+fuWELd7llD3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf7llD
3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf7llD
3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf7llD3+5ZQ9/uWUPf8llD398AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAA=
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
baPg47kAAAAASUVORK5CYII=
</value>
</data>
<data name="NotifyIcon1.Text" xml:space="preserve">

View File

@ -17,6 +17,8 @@ Imports DevExpress.XtraBars.Ribbon
Imports DigitalData.Modules.ZooFlow
Public Class frmMain
Private Property FormHelper As FormHelper
Private UserLoggedin As Integer = 0
Private CURR_DT_VWPM_PROFILE_ACTIVE As DataTable
Private CURR_DT_OVERVIEW As DataTable
@ -50,12 +52,16 @@ Public Class frmMain
Private DetailLinkActive As Boolean = False
Private FRONTEND_ACTION As String = "NONE"
Private Ev_Filter_Panel_Closed As Boolean = False
Dim omsgOpenWorkflow = "Bitte schliessen Sie den offenen Workflow!"
Dim omsgTitleWarning = "Achtung:"
Private Const FullFilepatColName = "FULL_FILE_PATH"
Private Const FA_NONE = "NONE"
Private Function GET_LAST_ADDED(pDatatable As DataTable) As String
Dim oADDED As String
Try
If IsNothing(pDatatable) Then
oADDED = "NOTHING"
ElseIf LAST_ADDED_COLUMN = "NONE" Then
ElseIf LAST_ADDED_COLUMN = FA_NONE Then
oADDED = Now.ToShortTimeString.ToString
Else
Dim result As Object
@ -73,7 +79,7 @@ Public Class frmMain
Try
If IsNothing(pDatatable) Then
oCHANGED = "NOTHING"
ElseIf LAST_EDITED_COLUMN = "NONE" Then
ElseIf LAST_EDITED_COLUMN = FA_NONE Then
oCHANGED = Now.ToShortTimeString.ToString
Else
Dim result As Object
@ -105,7 +111,6 @@ Public Class frmMain
My.Settings.frmMainSize = Me.Size
My.Settings.frmMainPosition = Me.Location
My.Settings.Save()
'SaveGridLayout()
Catch ex As Exception
LOGGER.Error(ex)
LOGGER.Info("Error in Save FormLayout: " & ex.Message)
@ -159,6 +164,13 @@ Public Class frmMain
' Create helper to save/load expanded GroupColumns at runtime
RefreshHelper = New RefreshHelper(LOGCONFIG, GridViewWFItems, "GUID")
If User.Language <> "de-DE" Then
omsgOpenWorkflow = "Please close the active workflow!"
omsgTitleWarning = "Warning:"
End If
Dim oVErsion = String.Format("{0}.{1}.{2}", My.Application.Info.Version.Major, My.Application.Info.Version.Minor, My.Application.Info.Version.Build)
bsiVersion.Caption = oVErsion
If ERROR_STATE = "NO DB-CONNECTION" Or ERROR_STATE = "FAILED DBCONNECTION" Then
@ -530,8 +542,6 @@ Public Class frmMain
End Function
Private Function GetXML_LayoutName()
Dim Filename As String = String.Format("DevExpressGridViewOverview_UserLayout_{0}.xml", GRID_LOAD_TYPE)
Return System.IO.Path.Combine(CONFIG.UserConfigPath.Replace("UserConfig.xml", ""), Filename)
@ -590,7 +600,11 @@ Public Class frmMain
GridViewWFItems.Columns.Item("PROFILE_ID").Visible = False
GridViewWFItems.Columns.Item("GUID").Visible = False
Try
GridViewWFItems.Columns.Item("FULL_FILE_PATH").Visible = False
GridViewWFItems.Columns.Item(FullFilepatColName).Visible = False
Catch ex As Exception
End Try
Try
'GridView_Docs.Columns.Item("DocID").Visible = False
GridViewWFItems.Columns.Item("TL_STATE").Visible = False
Catch ex As Exception
@ -744,7 +758,7 @@ Public Class frmMain
Private Async Sub navBar_LinkClicked(ByVal sender As Object, ByVal e As NavBarLinkEventArgs)
If Not Application.OpenForms().OfType(Of frmValidator).Any Then
Else
MsgBox("Please close the active workflow!", MsgBoxStyle.Exclamation, ADDITIONAL_TITLE)
FormHelper.ShowInfoMessage(omsgOpenWorkflow, omsgTitleWarning)
Exit Sub
End If
@ -762,9 +776,6 @@ Public Class frmMain
If Not Application.OpenForms().OfType(Of frmValidator).Any Then
CURRENT_CLICKED_PROFILE_ID = _tag
CURRENT_CLICKED_PROFILE_TITLE = e.Link.Item.Caption
Else
MsgBox("Please close the active workflow!", MsgBoxStyle.Exclamation, ADDITIONAL_TITLE)
Exit Sub
End If
@ -791,13 +802,13 @@ Public Class frmMain
DetailLinkActive = False
OVERVIEW_ADDED_WHEN = ""
End If
Await Load_Grid_Overview(oForce)
Await Load_Grid_Overview(False, True, True)
GridViewWFItems.HideLoadingPanel()
TimerRefresh.Start()
RefreshHelper.LoadViewInfo()
If GridViewWFItems.GroupCount = 0 And IsNothing(GridViewWFItems.Columns("GROUP_TEXT")) Then
LOGGER.Info("NO GROUPS AFTER CLICK OVERVIEW...CREATING GROUPS NEW...")
Await Load_Grid_Overview(False, True)
Await Load_Grid_Overview(False, True, True)
GridViewWFItems.HideLoadingPanel()
TimerRefresh.Start()
RefreshHelper.LoadViewInfo()
@ -805,7 +816,7 @@ Public Class frmMain
End If
End If
FRONTEND_ACTION = "NONE"
FRONTEND_ACTION = FA_NONE
End Sub
Function Load_Profiles_for_User() As Boolean
Try
@ -824,7 +835,6 @@ Public Class frmMain
Sub GridControl_Docs_Visible()
Try
If GridControl_Docs.Visible = False Then
GridControl_Docs.Visible = True
End If
Catch ex As Exception
@ -898,7 +908,7 @@ Public Class frmMain
LOGGER.Error(ex)
LOGGER.Info("Load_single_Profile - Error: " & ex.Message)
End Try
FRONTEND_ACTION = "NONE"
FRONTEND_ACTION = FA_NONE
End Function
Sub Create_Basic_View()
Try
@ -986,7 +996,10 @@ Public Class frmMain
GridViewWFItems.Columns.Item("PROFILE_ID").Visible = False
GridViewWFItems.Columns.Item("GUID").Visible = False
Try
GridViewWFItems.Columns.Item("FULL_FILE_PATH").Visible = False
GridViewWFItems.Columns.Item(FullFilepatColName).Visible = False
Catch ex As Exception
End Try
Try
'GridView_Docs.Columns.Item("DocID").Visible = False
GridViewWFItems.Columns.Item("TL_STATE").Visible = False
Catch ex As Exception
@ -1017,7 +1030,7 @@ Public Class frmMain
Catch ex As Exception
LOGGER.Info("Create_Basic_View2 - Column CONVERSATION obviously is not part of GridView_Docs - Trying to Rest Layout")
ResetLayout()
FRONTEND_ACTION = "NONE"
FRONTEND_ACTION = FA_NONE
Exit Sub
End Try
End If
@ -1044,13 +1057,16 @@ Public Class frmMain
GridViewWFItems.Columns.Item("GROUP_TEXT").Visible = False
GridViewWFItems.Columns.Item("GROUP_COLOR").Visible = False
Catch ex As Exception
LOGGER.Error(ex)
If OverviewOrDEtail = "OVERVIEW" Then
LOGGER.Warn("ATTENTION: GROUP COLUMNS NOT PART OF GRID")
End If
End Try
LOGGER.Debug("All columns in CreateBasicView created")
Catch ex As Exception
LOGGER.Error(ex)
End Try
FRONTEND_ACTION = "NONE"
FRONTEND_ACTION = FA_NONE
End Sub
@ -1068,7 +1084,7 @@ Public Class frmMain
If oViewColumn.Caption = oGridDXFieldName Then
If oActGridColumn.Visible = False Then
If oViewColumn.Caption <> "GUID" And oViewColumn.Caption <> "TL_STATE" And oViewColumn.Caption <> "PROFILE_ID" And oViewColumn.Caption <> "DocID" And
oViewColumn.Caption <> "FULL_FILE_PATH" And oViewColumn.Caption <> "GROUP_COLOR" And oViewColumn.Caption <> "GROUP_TEXT" And oViewColumn.Caption <> "CONV_YN" Then
oViewColumn.Caption <> "GROUP_COLOR" And oViewColumn.Caption <> "GROUP_TEXT" And oViewColumn.Caption <> "CONV_YN" Then
Console.WriteLine($"ViewColumn [{oViewColumn.Caption}] is invisible")
Else
oViewColumn_exists = True
@ -1079,8 +1095,10 @@ Public Class frmMain
End If
Next
If oViewColumn_exists = False Then
LOGGER.Info($"Following ViewColumn no longer exists in the view: [{oViewColumn.Caption}]")
Return True
If oViewColumn.Caption = FullFilepatColName And IDB_ACTIVE = False Then
LOGGER.Info($"Following ViewColumn no longer exists in the view: [{oViewColumn.Caption}]")
Return True
End If
End If
Next
For Each oActGridColumn As GridColumn In GridViewWFItems.Columns
@ -1177,7 +1195,6 @@ Public Class frmMain
End If
Try
' SaveGridLayout()
'bwSync.ReportProgress(10)
LoadNavBar()
'bwSync.ReportProgress(60)
@ -1222,14 +1239,14 @@ Public Class frmMain
GridViewWFItems.ShowLoadingPanel()
TimerRefresh.Stop()
FRONTEND_ACTION = "DECIDE_LOAD"
If GRID_LOAD_TYPE = "OVERVIEW" Then
Await Load_Grid_Overview(pIsFormLoad, ForceReload)
Await Load_Grid_Overview(pIsFormLoad, ForceReload, False)
ElseIf GRID_LOAD_TYPE.StartsWith("PROFILE#") Then
Await Load_single_Profile(ForceReload)
End If
FRONTEND_ACTION = FA_NONE
GridViewWFItems.HideLoadingPanel()
TimerRefresh.Start()
@ -1290,6 +1307,7 @@ Public Class frmMain
End Try
Try
InitializeComponent()
FormHelper = New FormHelper(LOGCONFIG, Me)
' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
Catch ex As Exception
LOGGER.Error(ex)
@ -1402,7 +1420,7 @@ Public Class frmMain
' th.Start()
Else
LOGGER.Debug("Validator is already open...")
MsgBox(omsg, MsgBoxStyle.Exclamation, omsgTitle)
FormHelper.ShowInfoMessage(omsg, omsgTitleWarning)
End If
@ -1600,15 +1618,14 @@ Public Class frmMain
Try
oFocusedDocGUID = GridViewWFItems.GetFocusedRowCellValue(GridViewWFItems.Columns("GUID"))
Catch ex As Exception
MsgBox("Could not get DocGUID. Inform Your admin-team: Check Your View-Config", MsgBoxStyle.Critical)
FormHelper.ShowInfoMessage("Could not get DocGUID. Inform Your admin-team: Check Your View-Config", omsgTitleWarning)
End Try
Dim oFocusedDocID
Try
oFocusedDocID = GridViewWFItems.GetFocusedRowCellValue(GridViewWFItems.Columns("DocID"))
Catch ex As Exception
MsgBox("Could not get DocID. Inform Your admin-team: Check Your View-Config", MsgBoxStyle.Critical)
FormHelper.ShowInfoMessage("Could not get DocID. Inform Your admin-team: Check Your View-Config", omsgTitleWarning)
End Try
If IsNothing(oFocusedDocID) Then
@ -1624,13 +1641,17 @@ Public Class frmMain
Exit Sub
End If
LOGGER.Debug($"Item_Scope: GotDocID {oFocusedDocID} and DocGUID {oFocusedDocGUID}")
Dim DOC_PATH = GridViewWFItems.GetFocusedRowCellValue(GridViewWFItems.Columns("FULL_FILE_PATH"))
If IsNothing(DOC_PATH) Then
LOGGER.Warn("In hitInfo.InDataRow: DOC_PATH is nothing!!!")
Exit Sub
If Not IsNothing(GridViewWFItems.Columns(FullFilepatColName)) Then
Dim DOC_PATH = GridViewWFItems.GetFocusedRowCellValue(GridViewWFItems.Columns(FullFilepatColName))
If IsNothing(DOC_PATH) Then
LOGGER.Warn("In hitInfo.InDataRow: FULL_FILE_PATH is nothing!!!")
Exit Sub
End If
DOC_PATH = DOC_PATH.Replace("W:\", "\\windream\objects\")
DOC_PATH = DOC_PATH.Replace("K:\", "\\windream\objects\")
' CURRENT_DOC_PATH = DOC_PATH
End If
DOC_PATH = DOC_PATH.Replace("W:\", "\\windream\objects\")
DOC_PATH = DOC_PATH.Replace("K:\", "\\windream\objects\")
'Checking if table really contains one record with profile-id and docid
oExpression = oExpression & " AND DocID = " & oFocusedDocID
'Dim TEMP_TABLE = CURR_DT_OVERVIEW
@ -1644,7 +1665,7 @@ Public Class frmMain
CURRENT_DOC_ID = oFocusedDocID
CURRENT_JUMP_DOC_GUID = oFocusedDocGUID
CURRENT_DOC_GUID = CURRENT_JUMP_DOC_GUID
CURRENT_DOC_PATH = DOC_PATH
Dim oSQL = $"SELECT [dbo].[FNPM_CHECK_DocGUID_Valid] ({CURRENT_DOC_GUID})"
Dim oResult = DatabaseFallback.GetScalarValueECM(oSQL)
Try
@ -1657,7 +1678,8 @@ Public Class frmMain
omsg = "Attention: the item You chose is rather in work or locked from another user!"
otitle = "Attention:"
End If
MsgBox(omsg, MsgBoxStyle.Exclamation, otitle)
FormHelper.ShowInfoMessage(omsg, omsgTitleWarning)
End If
Catch ex As Exception
LOGGER.Warn($"Uenxpected error in Checking freefile - sql so far: {oSQL} - ")
@ -1670,8 +1692,7 @@ Public Class frmMain
End If
Else
MsgBox("Could not get the ProfileID of file! - Check Your configuration of MainView!", MsgBoxStyle.Critical, ADDITIONAL_TITLE)
FormHelper.ShowInfoMessage("Could not get the ProfileID of file! - Check Your configuration of MainView!", omsgTitleWarning)
End If
Catch ex As Exception
LOGGER.Error(ex)
@ -1747,12 +1768,13 @@ Public Class frmMain
Dim sd = GridViewWFItems.GroupedColumns(index).GetTextCaption
GridViewWFItems.GroupedColumns(index).Tag = GridViewWFItems.Columns.Item("PROFILE_ID")
Next
GridViewWFItems.CollapseAllGroups()
LOGGER.Debug("finished Grouping!")
Catch ex As Exception
LOGGER.Error(ex)
End Try
End Sub
Async Function Load_Grid_Overview(FormLoad As Boolean, Optional ForceReload As Boolean = False) As Tasks.Task
Async Function Load_Grid_Overview(pFormLoad As Boolean, pForceReload As Boolean, pNavbarClick As Boolean) As Tasks.Task
Dim oStopWatch As New RefreshHelper.SW("Load_Grid_Overview(LGO)")
GridControl_Docs_Visible()
GRID_LOAD_TYPE = "OVERVIEW"
@ -1779,16 +1801,14 @@ Public Class frmMain
Dim oStopWatch2 As New RefreshHelper.SW("LGO#build CURR_DT_OVERVIEW")
Dim oSQLOverview = BASEDATA_DT_CONFIG.Rows(0).Item("SQL_PROFILE_MAIN_VIEW")
If IsDBNull(oSQLOverview) Then
bsiMessage.Caption = "No GROUP-CONFIG (SQL_PROFILE_MAIN_VIEW) in Baseconfig"
bsiMessage.Caption = "No SQL_PROFILE_MAIN_VIEW in Baseconfig"
oStopWatch.Done()
oStopWatch2.Done()
Exit Function
End If
If oSQLOverview.ToString.Contains("GROUP_TEXT") = False Then
MsgBox("Incomplete Overview-Source (No Group-Columns). Please reload manually!", MsgBoxStyle.Exclamation, ADDITIONAL_TITLE)
FormHelper.ShowInfoMessage("Incomplete Overview-Source (No Group-Columns). Please reload manually!", omsgTitleWarning)
NO_WORKFLOWITEMS = True
'MsgBox("Aktuell keine Workflowdaten vorhanden!", MsgBoxStyle.Information)
GridControl_Docs.Visible = False
bindsourcegrid.DataSource = Nothing
GridControl_Docs.DataSource = Nothing
@ -1823,21 +1843,21 @@ Public Class frmMain
Dim oADDED = GET_LAST_ADDED(CURR_DT_OVERVIEW)
Dim oChanged = GET_LAST_CHANGED(CURR_DT_OVERVIEW)
Dim oCOUNT = CURR_DT_OVERVIEW.Rows.Count
If oADDED = OVERVIEW_ADDED_WHEN And oChanged = OVERVIEW_CHANGED_WHEN And oCOUNT = OVERVIEW_COUNT Then
If ForceReload = False Then
LOGGER.Debug("No changes on OverviewHash - so exit Load_Grid_overview")
Exit Function
If pForceReload = False Then
If oADDED = OVERVIEW_ADDED_WHEN And oChanged = OVERVIEW_CHANGED_WHEN And oCOUNT = OVERVIEW_COUNT Then
If pForceReload = False Then
LOGGER.Debug("No changes on OverviewHash - so exit Load_Grid_overview")
Exit Function
End If
Else
LOGGER.Info("Differences on OverviewHash")
LOGGER.Debug($"oADDED/OVERVIEW_ADDED_WHEN: {oADDED}/{OVERVIEW_ADDED_WHEN}#oADDED/OVERVIEW_ADDED_WHEN: {oChanged}/{OVERVIEW_CHANGED_WHEN}")
OVERVIEW_ADDED_WHEN = oADDED
OVERVIEW_CHANGED_WHEN = oChanged
OVERVIEW_COUNT = oCOUNT
End If
Else
LOGGER.Info("Differences on OverviewHash")
LOGGER.Debug($"oADDED/OVERVIEW_ADDED_WHEN: {oADDED}/{OVERVIEW_ADDED_WHEN}#oADDED/OVERVIEW_ADDED_WHEN: {oChanged}/{OVERVIEW_CHANGED_WHEN}")
OVERVIEW_ADDED_WHEN = oADDED
OVERVIEW_CHANGED_WHEN = oChanged
OVERVIEW_COUNT = oCOUNT
End If
Create_View_Caption()
NO_WORKFLOWITEMS = False
If CURR_DT_OVERVIEW.Rows.Count = 0 Then
If USER_LANGUAGE = "de-DE" Then
@ -1845,11 +1865,7 @@ Public Class frmMain
Else
GridViewWFItems.ViewCaption = "No workflowdata!"
End If
NO_WORKFLOWITEMS = True
'MsgBox("Aktuell keine Workflowdaten vorhanden!", MsgBoxStyle.Information)
GridControl_Docs.Visible = False
bindsourcegrid.DataSource = Nothing
GridControl_Docs.DataSource = Nothing
@ -1857,9 +1873,7 @@ Public Class frmMain
GridViewWFItems.Columns.Clear()
Catch ex As Exception
LOGGER.Error(ex)
End Try
Exit Function
End If
@ -1873,9 +1887,6 @@ Public Class frmMain
columnStateIcon.Caption = ""
CURR_DT_OVERVIEW.Columns.Add(columnStateIcon)
End If
RedDocuments = 0
YellowDocuments = 0
GreenDocuments = 0
@ -1927,47 +1938,44 @@ Public Class frmMain
bindsourcegrid.DataSource = CURR_DT_OVERVIEW
GridControl_Docs.DataSource = bindsourcegrid
'Dim objectCount_Descr = GridViewWFItems.RowCount.ToString
'If USER_LANGUAGE = "de-DE" Then
' GridViewWFItems.ViewCaption = "Gesamtübersicht"
' objectCount_Descr &= " Vorgänge"
'Else
' GridViewWFItems.ViewCaption = "Overview"
' objectCount_Descr &= " objects"
'End If
Create_View_Caption()
' tslblObjectCount.Text = objectCount_Descr
'tslblObjectCount.ForeColor = Color.DarkBlue
Dim oColNotPartofLayout As Boolean
oColNotPartofLayout = False
'GridControlDocRow.ForceInitialize()
' GridControl1.DataSource = CURR_DT_PROFILEGRID
If FormLoad = True Then
If pFormLoad = True Then
If IDB_ACTIVE = True Then
oColNotPartofLayout = Column_inGridViewLayout("CONV_YN")
End If
End If
If FORCE_LAYOUT_OVERVIEW = True And (GridLayoutChanged() = True Or oColNotPartofLayout = True) Then
ResetLayout()
SaveGridLayout()
Else
If oColNotPartofLayout = False Then
RestoreLayout()
If pNavbarClick = False Then
If pForceReload = True And (GridLayoutChanged() = True Or oColNotPartofLayout = True) Then
ResetLayout()
SaveGridLayout()
Else
If oColNotPartofLayout = False Then
RestoreLayout()
End If
End If
Else
RestoreLayout()
End If
Try
Create_Groups()
GridViewWFItems.Columns.Item("PROFILE_ID").Visible = False
GridViewWFItems.Columns.Item("GUID").Visible = False
Try
GridViewWFItems.Columns.Item("FULL_FILE_PATH").Visible = False
GridViewWFItems.Columns.Item(FullFilepatColName).Visible = False
'GridView_Docs.Columns.Item("DocID").Visible = False
GridViewWFItems.Columns.Item("TL_STATE").Visible = False
Catch ex As Exception
End Try
GridViewWFItems.CollapseAllGroups()
If TL_ICON = True Then
Try
@ -2022,10 +2030,9 @@ Public Class frmMain
LOGGER.Error(ex)
LOGGER.Info("Unexpected Error in Formatting Grid: " & ex.Message)
End Try
'SaveGridLayout()
If GridViewWFItems.Columns.Count <= 2 Then
If GridViewWFItems.Columns.Count <= 5 Then
LOGGER.Info("GridView_Docs.Columns.Count <= 2 - Reset_Gridlayout will be forced...", False)
Await Reset_GridLayout(FormLoad)
Await Reset_GridLayout(pFormLoad)
End If
Else
NO_WORKFLOWITEMS = True
@ -2048,12 +2055,11 @@ Public Class frmMain
LOGGER.Info("Load_Grid_Overview - Fehler: " & ex.Message)
End Try
End Function
Private Sub tsmiValidationProfil_Click(sender As Object, e As EventArgs) Handles tsmiValidationProfil.Click
If CURRENT_CLICKED_PROFILE_ID <> 0 Then
Load_Profil_from_Grid(CURRENT_CLICKED_PROFILE_ID)
Else
MsgBox("Please choose a profile!", MsgBoxResult.Ok, ADDITIONAL_TITLE)
FormHelper.ShowInfoMessage("Please choose a profile!", omsgTitleWarning)
End If
End Sub
@ -2066,7 +2072,7 @@ Public Class frmMain
SaveGridLayout()
GridBuilder.WithFontSizeDelta(CONFIG.Config.GridFontSizeDelta)
If GridControl_Docs.Visible = True And FormOpenClose = False Then RefreshHelper.LoadViewInfo()
FRONTEND_ACTION = "NONE"
FRONTEND_ACTION = FA_NONE
End Sub
Async Function Reset_GridLayout(FormLoad As Boolean) As Tasks.Task
@ -2077,7 +2083,6 @@ Public Class frmMain
InResetlayout = True
' Layout zurücksetzen
ResetLayout()
'SaveGridLayout()
' Ansicht neu laden
LoadNavBar()
@ -2213,10 +2218,10 @@ Public Class frmMain
End Sub
Private Sub GridView_Docs_ColumnWidthChanged(sender As Object, e As Views.Base.ColumnEventArgs) Handles GridViewWFItems.ColumnWidthChanged
GridLayout_Changed()
GridLayout_Changed("ColumnWidthChanged")
End Sub
Private Sub GridView_Docs_EndSorting(sender As Object, e As EventArgs) Handles GridViewWFItems.EndSorting
GridLayout_Changed()
GridLayout_Changed("EndSorting")
End Sub
Private Sub GridView_Docs_LostFocus(sender As Object, e As EventArgs) Handles GridViewWFItems.LostFocus
@ -2338,7 +2343,7 @@ Public Class frmMain
End Sub
Sub DebuglogBackgroundthread()
Dim oSQL As String = "None"
Dim oSQL As String = FA_NONE
Try
For Each oSLogstring As String In LOGCONFIG.Logs
Dim oLogSplit As String() = oSLogstring.Split("|")
@ -2431,14 +2436,17 @@ Public Class frmMain
Private Async Sub bbtniRefresh_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles bbtniRefresh.ItemClick
Timer_Inactivity_Reset_Disable("OverviewRefreshClick")
If GridControl_Docs.Visible = True And FormOpenClose = False Then
RefreshHelper.SaveViewInfo()
SaveGridLayout()
If Application.OpenForms().OfType(Of frmValidator).Any Then
FormHelper.ShowInfoMessage(omsgOpenWorkflow, omsgTitleWarning)
Exit Sub
End If
LoadNavBar()
Timer_Inactivity_Reset_Disable("OverviewRefreshClick")
'If GridControl_Docs.Visible = True And FormOpenClose = False Then
' RefreshHelper.SaveViewInfo()
' SaveGridLayout()
'End If
Await Decide_Load(False, True)
LoadNavBar()
If GridControl_Docs.Visible = True And FormOpenClose = False Then
RefreshHelper.LoadViewInfo()
End If
@ -2648,8 +2656,7 @@ Public Class frmMain
If GridViewWFItems.ActiveFilterEnabled Then
End If
SaveGridLayout()
GridLayout_Changed("ColumnFilterChanged")
Catch ex As Exception
LOGGER.Error(ex.Message)
End Try
@ -2758,7 +2765,7 @@ Public Class frmMain
MyProcess.Start()
Else
LOGGER.Warn($"Clipboardwatcher-Exe not found [{bbtniCW.Tag}]")
MsgBox("Clipboard Watcher could not be started!", MsgBoxStyle.Exclamation, ADDITIONAL_TITLE)
FormHelper.ShowInfoMessage("Clipboard Watcher could not be started!", omsgTitleWarning)
End If
Catch ex As Exception
@ -2767,13 +2774,13 @@ Public Class frmMain
End Sub
Private Sub GridView_Docs_ColumnPositionChanged(sender As Object, e As EventArgs) Handles GridViewWFItems.ColumnPositionChanged
GridLayout_Changed()
GridLayout_Changed("ColumnPositionChanged")
End Sub
Private Sub GridLayout_Changed()
If FormShown = False Then
Private Sub GridLayout_Changed(oEvent As String)
If FormShown = False Or Ev_Filter_Panel_Closed Then
Exit Sub
End If
If FRONTEND_ACTION <> "NONE" Then
If FRONTEND_ACTION <> FA_NONE Then
Exit Sub
End If
SaveGridLayout()
@ -2781,7 +2788,7 @@ Public Class frmMain
Private Sub GridView_Docs_EndGrouping(sender As Object, e As EventArgs) Handles GridViewWFItems.EndGrouping
GridLayout_Changed()
GridLayout_Changed("EndGrouping")
End Sub
Private Sub bsilastsync_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles bsilastsync.ItemClick
@ -2815,8 +2822,8 @@ Public Class frmMain
End Sub
Sub Grid_Layout_Save()
FRONTEND_ACTION = "SAVE GRID LAYOUT"
GridLayout_Changed()
FRONTEND_ACTION = "NONE"
GridLayout_Changed("Grid_Layout_Save")
FRONTEND_ACTION = FA_NONE
End Sub
Private Sub BarButtonItem3_ItemClick_2(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem3.ItemClick
@ -2868,19 +2875,19 @@ Public Class frmMain
Dim oProfileId = 0
If oSelectedRows.Count = 0 Then
If USER_LANGUAGE = "de-DE" Then
MsgBox("Bitte selektieren Sie einige 1 oder mehr Dokumente", MsgBoxStyle.Exclamation, "Massenabschluss")
Else
MsgBox("Please select some documents!", MsgBoxStyle.Exclamation, "Mass Validation")
End If
Dim omsg = "Bitte selektieren Sie einige 1 oder mehr Dokumente"
If USER_LANGUAGE <> "de-DE" Then
omsg = "Please select some documents!"
End If
FormHelper.ShowInfoMessage(omsg, omsgTitleWarning)
Exit Sub
End If
oProfileId = GridViewWFItems.GetRowCellValue(oSelectedRows.Last(), GridViewWFItems.Columns("PROFILE_ID"))
If oProfileId = 0 Then
MsgBox("Could not select a profile!", MsgBoxStyle.Exclamation, "Mass Validation")
FormHelper.ShowInfoMessage("Could not select a profile!", omsgTitleWarning)
Exit Sub
End If
@ -2924,11 +2931,11 @@ Public Class frmMain
End If
Dim R As DataRow = NewDatatable.NewRow
CURRENT_DOC_ID = oDocID
Dim DOC_PATH = GridViewWFItems.GetRowCellValue(oRowHandle, "FULL_FILE_PATH")
CURRENT_DOC_PATH = DOC_PATH
Dim DOC_PATH = GridViewWFItems.GetRowCellValue(oRowHandle, FullFilepatColName)
' CURRENT_DOC_PATH = DOC_PATH
CURRENT_DOC_GUID = GridViewWFItems.GetRowCellValue(oRowHandle, "GUID")
R("DocID") = CURRENT_DOC_ID
R("FULL_PATH") = CURRENT_DOC_PATH
R("FULL_PATH") = DOC_PATH
R("DOC_GUID") = GridViewWFItems.GetRowCellValue(oRowHandle, "GUID")
NewDatatable.Rows.Add(R)
Next
@ -3007,6 +3014,6 @@ Public Class frmMain
End Sub
Private Sub GridViewWFItems_SubstituteFilter(sender As Object, e As DevExpress.Data.SubstituteFilterEventArgs) Handles GridViewWFItems.SubstituteFilter
GridLayout_Changed("GridViewWFItems_SubstituteFilter")
End Sub
End Class