Imports System.Data Imports System.IO Imports System.Data.SqlTypes Imports System.Data.SqlClient Imports System.ComponentModel Imports System.Drawing Imports System.Drawing.Color Public Class frmNotfallimport Inherits System.Windows.Forms.Form #Region " Vom Windows Form Designer generierter Code " Public Sub New() MyBase.New() ' Dieser Aufruf ist für den Windows Form-Designer erforderlich. InitializeComponent() ' Initialisierungen nach dem Aufruf InitializeComponent() hinzufügen End Sub ' Die Form überschreibt den Löschvorgang der Basisklasse, um Komponenten zu bereinigen. Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) If disposing Then If Not (components Is Nothing) Then components.Dispose() End If End If MyBase.Dispose(disposing) End Sub ' Für Windows Form-Designer erforderlich Private components As System.ComponentModel.IContainer 'HINWEIS: Die folgende Prozedur ist für den Windows Form-Designer erforderlich 'Sie kann mit dem Windows Form-Designer modifiziert werden. 'Verwenden Sie nicht den Code-Editor zur Bearbeitung. Friend WithEvents ToolBar1 As System.Windows.Forms.ToolBar Friend WithEvents ToolBarButton1 As System.Windows.Forms.ToolBarButton Friend WithEvents ImageList1 As System.Windows.Forms.ImageList Friend WithEvents Label1 As System.Windows.Forms.Label Friend WithEvents txtdokumenttypnr As System.Windows.Forms.TextBox Friend WithEvents txtpartnernr As System.Windows.Forms.TextBox Friend WithEvents Label2 As System.Windows.Forms.Label Friend WithEvents txtbcknr As System.Windows.Forms.TextBox Friend WithEvents Label5 As System.Windows.Forms.Label Friend WithEvents btnSave As System.Windows.Forms.Button Friend WithEvents Button2 As System.Windows.Forms.Button Friend WithEvents Button3 As System.Windows.Forms.Button Friend WithEvents Button1 As System.Windows.Forms.Button Friend WithEvents Label3 As System.Windows.Forms.Label Friend WithEvents ImageList3 As System.Windows.Forms.ImageList Friend WithEvents ToolTip1 As System.Windows.Forms.ToolTip Private Sub InitializeComponent() Me.components = New System.ComponentModel.Container() Dim resources As System.Resources.ResourceManager = New System.Resources.ResourceManager(GetType(frmNotfallimport)) Me.ToolBar1 = New System.Windows.Forms.ToolBar() Me.ToolBarButton1 = New System.Windows.Forms.ToolBarButton() Me.ImageList1 = New System.Windows.Forms.ImageList(Me.components) Me.Label1 = New System.Windows.Forms.Label() Me.txtdokumenttypnr = New System.Windows.Forms.TextBox() Me.txtpartnernr = New System.Windows.Forms.TextBox() Me.Label2 = New System.Windows.Forms.Label() Me.txtbcknr = New System.Windows.Forms.TextBox() Me.Label5 = New System.Windows.Forms.Label() Me.btnSave = New System.Windows.Forms.Button() Me.Button2 = New System.Windows.Forms.Button() Me.Button3 = New System.Windows.Forms.Button() Me.Button1 = New System.Windows.Forms.Button() Me.Label3 = New System.Windows.Forms.Label() Me.ImageList3 = New System.Windows.Forms.ImageList(Me.components) Me.ToolTip1 = New System.Windows.Forms.ToolTip(Me.components) Me.SuspendLayout() ' 'ToolBar1 ' Me.ToolBar1.Buttons.AddRange(New System.Windows.Forms.ToolBarButton() {Me.ToolBarButton1}) Me.ToolBar1.DropDownArrows = True Me.ToolBar1.ImageList = Me.ImageList1 Me.ToolBar1.Name = "ToolBar1" Me.ToolBar1.ShowToolTips = True Me.ToolBar1.Size = New System.Drawing.Size(424, 25) Me.ToolBar1.TabIndex = 0 ' 'ToolBarButton1 ' Me.ToolBarButton1.ImageIndex = 0 Me.ToolBarButton1.ToolTipText = "Verlassen" ' 'ImageList1 ' Me.ImageList1.ColorDepth = System.Windows.Forms.ColorDepth.Depth8Bit Me.ImageList1.ImageSize = New System.Drawing.Size(16, 16) Me.ImageList1.ImageStream = CType(resources.GetObject("ImageList1.ImageStream"), System.Windows.Forms.ImageListStreamer) Me.ImageList1.TransparentColor = System.Drawing.Color.Transparent ' 'Label1 ' Me.Label1.Location = New System.Drawing.Point(8, 48) Me.Label1.Name = "Label1" Me.Label1.TabIndex = 1 Me.Label1.Text = "Dokumenttyp-Nr." ' 'txtdokumenttypnr ' Me.txtdokumenttypnr.Location = New System.Drawing.Point(112, 48) Me.txtdokumenttypnr.Name = "txtdokumenttypnr" Me.txtdokumenttypnr.Size = New System.Drawing.Size(184, 20) Me.txtdokumenttypnr.TabIndex = 2 Me.txtdokumenttypnr.Text = "" Me.ToolTip1.SetToolTip(Me.txtdokumenttypnr, "Dokumenttypnr (Dokument unten rechts)") ' 'txtpartnernr ' Me.txtpartnernr.Location = New System.Drawing.Point(112, 128) Me.txtpartnernr.Name = "txtpartnernr" Me.txtpartnernr.Size = New System.Drawing.Size(184, 20) Me.txtpartnernr.TabIndex = 4 Me.txtpartnernr.Text = "" Me.ToolTip1.SetToolTip(Me.txtpartnernr, "Eingabe der Partnernr (nicht zwingend)") ' 'Label2 ' Me.Label2.Location = New System.Drawing.Point(8, 128) Me.Label2.Name = "Label2" Me.Label2.TabIndex = 3 Me.Label2.Text = "Partner-Nr." ' 'txtbcknr ' Me.txtbcknr.Location = New System.Drawing.Point(112, 160) Me.txtbcknr.Name = "txtbcknr" Me.txtbcknr.Size = New System.Drawing.Size(184, 20) Me.txtbcknr.TabIndex = 6 Me.txtbcknr.Text = "" Me.ToolTip1.SetToolTip(Me.txtbcknr, "Eingabe einer gültigen Barcodekleber-Nr.") ' 'Label5 ' Me.Label5.Location = New System.Drawing.Point(8, 160) Me.Label5.Name = "Label5" Me.Label5.TabIndex = 9 Me.Label5.Text = "Barcodekleber-Nr." ' 'btnSave ' Me.btnSave.Location = New System.Drawing.Point(176, 192) Me.btnSave.Name = "btnSave" Me.btnSave.TabIndex = 11 Me.btnSave.Text = "Weiter >>" Me.ToolTip1.SetToolTip(Me.btnSave, "Barcode-Dokument erstellen") ' 'Button2 ' Me.Button2.Location = New System.Drawing.Point(296, 48) Me.Button2.Name = "Button2" Me.Button2.Size = New System.Drawing.Size(120, 23) Me.Button2.TabIndex = 13 Me.Button2.Text = "Dokumenttyp suchen" Me.ToolTip1.SetToolTip(Me.Button2, "Dialog zur Vorlagenauswahl") ' 'Button3 ' Me.Button3.Location = New System.Drawing.Point(296, 128) Me.Button3.Name = "Button3" Me.Button3.Size = New System.Drawing.Size(120, 23) Me.Button3.TabIndex = 14 Me.Button3.Text = "Partner suchen" Me.ToolTip1.SetToolTip(Me.Button3, "Dialog zur Partnersuche") ' 'Button1 ' Me.Button1.Location = New System.Drawing.Point(296, 160) Me.Button1.Name = "Button1" Me.Button1.Size = New System.Drawing.Size(120, 23) Me.Button1.TabIndex = 15 Me.Button1.Text = "nächster Barcode" Me.ToolTip1.SetToolTip(Me.Button1, "Nächste Barcodenummer generieren") ' 'Label3 ' Me.Label3.ForeColor = System.Drawing.Color.Red Me.Label3.Location = New System.Drawing.Point(112, 70) Me.Label3.Name = "Label3" Me.Label3.Size = New System.Drawing.Size(312, 50) Me.Label3.TabIndex = 16 ' 'ImageList3 ' Me.ImageList3.ColorDepth = System.Windows.Forms.ColorDepth.Depth8Bit Me.ImageList3.ImageSize = New System.Drawing.Size(16, 16) Me.ImageList3.ImageStream = CType(resources.GetObject("ImageList3.ImageStream"), System.Windows.Forms.ImageListStreamer) Me.ImageList3.TransparentColor = System.Drawing.Color.Transparent ' 'frmNotfallimport ' Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13) Me.ClientSize = New System.Drawing.Size(424, 221) Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.Label3, Me.Button1, Me.Button3, Me.Button2, Me.btnSave, Me.txtbcknr, Me.Label5, Me.txtpartnernr, Me.Label2, Me.txtdokumenttypnr, Me.Label1, Me.ToolBar1}) Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) Me.Name = "frmNotfallimport" Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen Me.Text = "Notfall-Dokumentimport" Me.ResumeLayout(False) End Sub #End Region Dim Stdprofilnr As Integer = 0 Private Sub ToolBar1_ButtonClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ToolBarButtonClickEventArgs) Handles ToolBar1.ButtonClick Select Case ToolBar1.Buttons.IndexOf(e.Button) Case 0 'close button Me.Close() Case Else End Select End Sub Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click If Not doktypexists() Then Exit Sub If Not check_barcodenr() Then Exit Sub Dim f As New frmDokumentbearbeitungBC() 'Profile des angemeldeten Benutzers lesen f.Profile = Mitarbeiterprofile_laden() f.Profilnr = Me.Stdprofilnr f.Notfallimport = True f.Dokumenttypnr = Me.txtdokumenttypnr.Text If Me.txtpartnernr.Text <> "" Then f.Partnernr = Me.txtpartnernr.Text f.BarcodeID = Me.txtbcknr.Text f.ShowDialog() f.Dispose() Me.txtdokumenttypnr.Focus() End Sub Private Function check_barcodenr() As Boolean Dim v As Long Try v = Val(LTrim(RTrim(Me.txtbcknr.Text))) Catch MyMsg.show_standardmessage(36, MsgBoxStyle.Critical) Me.txtbcknr.Select() Me.txtbcknr.Focus() Return False Exit Function End Try Dim bc As New edokadb.clsBarcodeetikette() bc.cpMainConnectionProvider = conn Try bc.iBarcodenr = New SqlInt32(CType(Me.txtbcknr.Text, String)) bc.SelectOne() If bc.iBarcodenr.Value = v Then If bc.sDokumentid.Value Is System.DBNull.Value Then bc.sDokumentid = New SqlString(CType("res", String)) Else If bc.sDokumentid.Value = "" Then bc.sDokumentid = New SqlString(CType("res", String)) Else MyMsg.show_standardmessage(37, MsgBoxStyle.Critical) Me.txtbcknr.Select() Me.txtbcknr.Focus() Return False Exit Function End If End If End If conn.OpenConnection() bc.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) bc.iMutierer = New SqlInt32(CType(Globals.MitarbeiterNr, Int32)) bc.Update() conn.CloseConnection(True) Return True Me.DialogResult = DialogResult.OK Me.Close() Catch MyMsg.show_standardmessage(38, MsgBoxStyle.Critical) Me.txtbcknr.SelectAll() Me.txtbcknr.Focus() Return False End Try End Function Private Function Mitarbeiterprofile_laden() As DataTable Dim scmCmdToExecute As SqlCommand = New SqlCommand() Dim s As String Dim dtToReturn As DataTable = New DataTable() Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute) scmCmdToExecute.CommandText = "dbo.sp_notfallimport_profile" scmCmdToExecute.CommandType = CommandType.StoredProcedure scmCmdToExecute.Connection = conn.scoDBConnection Try scmCmdToExecute.Parameters.Add(New SqlParameter("@mitarbeiternr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Globals.MitarbeiterNr)) scmCmdToExecute.Parameters.Add(New SqlParameter("@stdnr", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, 0)) sdaAdapter.Fill(dtToReturn) Stdprofilnr = scmCmdToExecute.Parameters.Item("@stdnr").Value Return dtToReturn Catch ex As Exception ' // some error occured. Bubble it to caller and encapsulate Exception object Throw New Exception("::Error occured." & ex.Message, ex) Finally scmCmdToExecute.Dispose() sdaAdapter.Dispose() End Try End Function Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Dim f As New FrmPartnersuche() f.ShowDialog() f.NurAbfrage = True If f.PartnerNr <> 0 Then Me.txtpartnernr.Text = f.PartnerNr.ToString End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim s As String Dim v As Long s = Me.txtbcknr.Text If Len(s) < 9 Then Exit Sub If Len(s) > 10 Then Exit Sub If Len(s) = 9 Then s = "0" + s s = Microsoft.VisualBasic.Left(s, 9) v = Val(s) v = v + 1 s = v.ToString If Len(s) = 0 Then s = "0" + s s = s + LTrim(Pruefziffer(s)) Me.txtbcknr.Text = s End Sub Public Function Pruefziffer(ByVal zahl As String) As String Dim ptab(9, 9) As Integer Dim pz(9) As Integer Dim s1, s2, s3 As String Dim i1, i2 As Long s1 = "0,9,4,6,8,2,7,1,3,5" s2 = s1 For i1 = 0 To 9 For i2 = 0 To 9 ptab(i1, i2) = Mid(s2, (i2 * 2) + 1, 1) Next s3 = Microsoft.VisualBasic.Left(s1, 1) s1 = Microsoft.VisualBasic.Right(s1, Len(s1) - 2) s1 = s1 + "," + s3 s2 = s1 Next pz(0) = 0 pz(1) = 9 pz(2) = 8 pz(3) = 7 pz(4) = 6 pz(5) = 5 pz(6) = 4 pz(7) = 3 pz(8) = 2 pz(9) = 1 Dim i, x, y, z, e As Integer Dim xx As String y = 0 For i = 1 To Len(zahl) x = Val(Mid(zahl, i, 1)) y = ptab(x, y) Next Pruefziffer = Str(pz(y)) End Function Private Sub txtdokumenttypnr_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtdokumenttypnr.Leave doktypexists() End Sub Private Function doktypexists() As Boolean Dim v As Integer Try v = Val(Me.txtdokumenttypnr.Text) Catch v = 0 End Try Dim scmCmdToExecute As SqlCommand = New SqlCommand() Dim s As String Dim dtToReturn As DataTable = New DataTable() Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute) scmCmdToExecute.CommandText = "dbo.sp_notfallimport_DOKUMENTTYP" scmCmdToExecute.CommandType = CommandType.StoredProcedure scmCmdToExecute.Connection = conn.scoDBConnection Try scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumenttypnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, v)) scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumenttyp", SqlDbType.VarChar, 255, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, "")) scmCmdToExecute.Parameters.Add(New SqlParameter("@doktypexists", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, 0)) sdaAdapter.Fill(dtToReturn) Me.Label3.Text = scmCmdToExecute.Parameters("@dokumenttyp").Value If scmCmdToExecute.Parameters("@doktypexists").Value = 1 Then Return True Else Return False End If Catch ex As Exception Throw New Exception("::Error occured." & ex.Message, ex) Finally scmCmdToExecute.Dispose() sdaAdapter.Dispose() End Try End Function Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim f As New frmVorlagenauswahl() f.Show_Favoriten = False f.TVStruktur.ImageList = Me.ImageList3 f.Dokumentart = "" f.Profile = Mitarbeiterprofile_laden() f.ProfilNr = Me.Stdprofilnr f.ShowDialog() If f.DialogResult.OK Then Me.txtdokumenttypnr.Text = f.Dokumentvorlage.ToString doktypexists() Me.txtpartnernr.Focus() End If f.Dispose() End Sub End Class