Imports System.Data Imports System.Data.SqlTypes Imports System.Data.SqlClient Imports System.ComponentModel Imports UtilityLibrary.Win32 Public Class frmInformationsEmpfaenger Inherits System.Windows.Forms.Form #Region " Vom Windows Form Designer generierter Code " ' 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 Label1 As System.Windows.Forms.Label Friend WithEvents Label2 As System.Windows.Forms.Label Friend WithEvents Label3 As System.Windows.Forms.Label Friend WithEvents Label4 As System.Windows.Forms.Label Friend WithEvents BtnOK As System.Windows.Forms.Button Friend WithEvents BtnCancel As System.Windows.Forms.Button Friend WithEvents cbEmpfaenger As System.Windows.Forms.ComboBox Friend WithEvents cbStatus As System.Windows.Forms.ComboBox Friend WithEvents txtStdmeldung As System.Windows.Forms.TextBox Friend WithEvents txtBemerkung As System.Windows.Forms.TextBox Private Sub InitializeComponent() Dim resources As System.Resources.ResourceManager = New System.Resources.ResourceManager(GetType(frmInformationsEmpfaenger)) Me.cbEmpfaenger = New System.Windows.Forms.ComboBox() Me.Label1 = New System.Windows.Forms.Label() Me.cbStatus = New System.Windows.Forms.ComboBox() Me.Label2 = New System.Windows.Forms.Label() Me.txtStdmeldung = New System.Windows.Forms.TextBox() Me.Label3 = New System.Windows.Forms.Label() Me.Label4 = New System.Windows.Forms.Label() Me.txtBemerkung = New System.Windows.Forms.TextBox() Me.BtnOK = New System.Windows.Forms.Button() Me.BtnCancel = New System.Windows.Forms.Button() Me.SuspendLayout() ' 'cbEmpfaenger ' Me.cbEmpfaenger.Location = New System.Drawing.Point(96, 16) Me.cbEmpfaenger.Name = "cbEmpfaenger" Me.cbEmpfaenger.Size = New System.Drawing.Size(176, 21) Me.cbEmpfaenger.TabIndex = 0 Me.cbEmpfaenger.Text = "ComboBox1" ' 'Label1 ' Me.Label1.Location = New System.Drawing.Point(16, 16) Me.Label1.Name = "Label1" Me.Label1.Size = New System.Drawing.Size(80, 16) Me.Label1.TabIndex = 1 Me.Label1.Text = "Empfänger" ' 'cbStatus ' Me.cbStatus.Location = New System.Drawing.Point(96, 40) Me.cbStatus.Name = "cbStatus" Me.cbStatus.Size = New System.Drawing.Size(176, 21) Me.cbStatus.TabIndex = 2 Me.cbStatus.Text = "ComboBox2" ' 'Label2 ' Me.Label2.Location = New System.Drawing.Point(16, 40) Me.Label2.Name = "Label2" Me.Label2.Size = New System.Drawing.Size(72, 23) Me.Label2.TabIndex = 3 Me.Label2.Text = "Bei Status" ' 'txtStdmeldung ' Me.txtStdmeldung.Enabled = False Me.txtStdmeldung.Location = New System.Drawing.Point(96, 72) Me.txtStdmeldung.Multiline = True Me.txtStdmeldung.Name = "txtStdmeldung" Me.txtStdmeldung.Size = New System.Drawing.Size(416, 72) Me.txtStdmeldung.TabIndex = 4 Me.txtStdmeldung.Text = "" ' 'Label3 ' Me.Label3.Location = New System.Drawing.Point(16, 72) Me.Label3.Name = "Label3" Me.Label3.Size = New System.Drawing.Size(72, 23) Me.Label3.TabIndex = 5 Me.Label3.Text = "Meldung" ' 'Label4 ' Me.Label4.Location = New System.Drawing.Point(16, 152) Me.Label4.Name = "Label4" Me.Label4.Size = New System.Drawing.Size(72, 23) Me.Label4.TabIndex = 6 Me.Label4.Text = "Bemerkung" ' 'txtBemerkung ' Me.txtBemerkung.Location = New System.Drawing.Point(96, 152) Me.txtBemerkung.Multiline = True Me.txtBemerkung.Name = "txtBemerkung" Me.txtBemerkung.Size = New System.Drawing.Size(416, 72) Me.txtBemerkung.TabIndex = 7 Me.txtBemerkung.Text = "" ' 'BtnOK ' Me.BtnOK.DialogResult = System.Windows.Forms.DialogResult.OK Me.BtnOK.Location = New System.Drawing.Point(16, 240) Me.BtnOK.Name = "BtnOK" Me.BtnOK.TabIndex = 8 Me.BtnOK.Text = "&OK" ' 'BtnCancel ' Me.BtnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel Me.BtnCancel.Location = New System.Drawing.Point(440, 240) Me.BtnCancel.Name = "BtnCancel" Me.BtnCancel.TabIndex = 9 Me.BtnCancel.Text = "&Abbruch" ' 'frmInformationsEmpfaenger ' Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13) Me.ClientSize = New System.Drawing.Size(536, 269) Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.BtnCancel, Me.BtnOK, Me.txtBemerkung, Me.Label4, Me.Label3, Me.txtStdmeldung, Me.Label2, Me.cbStatus, Me.Label1, Me.cbEmpfaenger}) Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) Me.Name = "frmInformationsEmpfaenger" Me.Text = "Informationsempfänger" Me.ResumeLayout(False) End Sub #End Region #Region "Deklarationen" Public WithEvents mcbempfaenger As New MultiComboBox() Public WithEvents mcbstatus As New MultiComboBox() Dim Statusdata As New DataTable() Dim mailtextnr As Integer Dim m_dokumentid As String Property dokumentid() As String Get Return m_dokumentid End Get Set(ByVal Value As String) m_dokumentid = Value End Set End Property Dim m_statustyp As Integer Property Statustyp() As Integer Get Return m_statustyp End Get Set(ByVal Value As Integer) m_statustyp = Value End Set End Property Dim M_fromDokumenttyp As Boolean = False Property fromDokumenttyp() As Boolean Get Return M_fromDokumenttyp End Get Set(ByVal Value As Boolean) M_fromDokumenttyp = Value End Set End Property Dim m_mitarbeiterdata As DataTable Property Mitarbeiterdata() As DataTable Get Return m_mitarbeiterdata End Get Set(ByVal Value As DataTable) m_mitarbeiterdata = Value End Set End Property Dim m_dokumenttypnr As String Property Dokumenttypnr() As String Get Return m_dokumenttypnr End Get Set(ByVal Value As String) m_dokumenttypnr = Value End Set End Property Dim m_empfaenger As Integer Property Empfaenger() As Integer Get Return m_empfaenger End Get Set(ByVal Value As Integer) m_empfaenger = Value End Set End Property Dim m_empfaengertext As String Property Empaengertext() As String Get Return m_empfaengertext End Get Set(ByVal Value As String) m_empfaengertext = Value End Set End Property Dim m_statusnr As Integer Property Statusnr() As Integer Get Return m_statusnr End Get Set(ByVal Value As Integer) m_statusnr = Value End Set End Property Dim m_statustext As String Property Statustext() As String Get Return m_statustext End Get Set(ByVal Value As String) m_statustext = Value End Set End Property Dim m_bemerkung As String Property Bemerkung() As String Get Return m_bemerkung End Get Set(ByVal Value As String) m_bemerkung = Value End Set End Property Dim m_meldungsnr As Integer Property Meldungsnr() As Integer Get Return m_meldungsnr End Get Set(ByVal Value As Integer) m_meldungsnr = Value End Set End Property Dim m_meldung As String Property Meldung() As String Get Return m_meldung End Get Set(ByVal Value As String) m_meldung = Value End Set End Property #End Region #Region "Create" Public Sub New() MyBase.New() InitializeComponent() End Sub #End Region Private Sub frmInformationsEmpfaenger_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load mcbempfaenger = New MultiComboBox(Me.cbEmpfaenger) Me.mcbempfaenger.CheckNullValue = True Me.mcbempfaenger.NullValueMessage = MyTxt.gettext(18) Me.mcbempfaenger.DisplayColumnName = "name" Me.mcbempfaenger.ValueColumnName = "mitarbeiternr" Me.mcbempfaenger.Fill_Data(Generic_Select(1), False) mcbstatus = New MultiComboBox(Me.cbStatus) Me.mcbstatus.CheckNullValue = True Me.mcbstatus.NullValueMessage = MyTxt.gettext(18) Me.mcbstatus.DisplayColumnName = "bezeichnung" Me.mcbstatus.ValueColumnName = "dokumentstatusnr" If Me.fromDokumenttyp = True Then Me.mcbstatus.Fill_Data(Generic_Select(4), False) Me.Statusdata = Generic_Select(4) Else Me.mcbstatus.Fill_Data(Generic_Select(2), False) Me.Statusdata = Generic_Select(2) End If mcbstatus_SelectedValueChanged(sender, e) End Sub #Region "Datenhandling" Private Function Generic_Select(ByVal typ As Integer) As DataTable Dim scmCmdToExecute As SqlCommand = New SqlCommand() Dim dtToReturn As DataTable = New DataTable() Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute) Try Select Case typ Case 1 scmCmdToExecute.CommandText = "SP_Dokumentbearbeitung_Mitarbeiter_InfoEmpfaenger" Case 2 scmCmdToExecute.CommandText = "SP_Dokumentbearbeitung_StatusSelektion" scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumenttypnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Me.Dokumenttypnr)) scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumentid", SqlDbType.VarChar, 22, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Me.dokumentid)) scmCmdToExecute.Parameters.Add(New SqlParameter("@fnkt", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, 3)) scmCmdToExecute.Parameters.Add(New SqlParameter("@mitarbeiternr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Globals.MitarbeiterNr)) scmCmdToExecute.Parameters.Add(New SqlParameter("@bck", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, 0)) Case 3 scmCmdToExecute.CommandText = "SP_get_mailtext" scmCmdToExecute.Parameters.Add(New SqlParameter("@mailtextnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Me.mailtextnr)) scmCmdToExecute.Parameters.Add(New SqlParameter("@mandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Globals.MandantNr)) scmCmdToExecute.Parameters.Add(New SqlParameter("@sprache", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Globals.Sprache)) Case 4 scmCmdToExecute.CommandText = "SP_Dokumentbearbeitung_StatusSelektion" scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumenttypnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Me.Dokumenttypnr)) 'scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumenttypnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Me.Statustyp)) scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumentid", SqlDbType.VarChar, 22, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, "")) scmCmdToExecute.Parameters.Add(New SqlParameter("@fnkt", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, 99)) scmCmdToExecute.Parameters.Add(New SqlParameter("@mitarbeiternr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Globals.MitarbeiterNr)) scmCmdToExecute.Parameters.Add(New SqlParameter("@bck", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, 0)) Case Else End Select scmCmdToExecute.CommandType = CommandType.StoredProcedure scmCmdToExecute.Connection = conn.scoDBConnection sdaAdapter.Fill(dtToReturn) Return dtToReturn Catch ex As Exception MsgBox(ex.Message) ' // some error occured. Bubble it to caller and encapsulate Exception object Throw New Exception("Dokumenterstellung::Generic_Select::" & scmCmdToExecute.CommandText & "::Error occured." & ex.Message, ex) Finally scmCmdToExecute.Dispose() sdaAdapter.Dispose() End Try End Function #End Region #Region "Handles" #End Region Private Sub mcbstatus_SelectedValueChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles mcbstatus.SelectedValueChanged Dim i As Integer Dim istatus As Int32 Try istatus = Me.mcbstatus.SelectedValue mailtextnr = istatus Dim dt As DataTable dt = Generic_Select(3) Try Me.txtStdmeldung.Text = dt.Rows(0).Item(4) Catch End Try Catch End Try End Sub Private Sub BtnCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnCancel.Click Me.Close() End Sub Private Sub BtnOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnOK.Click Me.Bemerkung = Me.txtBemerkung.Text Me.Empaengertext = Me.mcbempfaenger.Text Me.Empfaenger = Me.mcbempfaenger.SelectedValue Me.Statustext = Me.mcbstatus.Text Me.Statusnr = Me.mcbstatus.SelectedValue Me.Meldungsnr = Me.mailtextnr Me.Meldung = Me.txtStdmeldung.Text Me.Close() End Sub Private Sub cbStatus_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbStatus.SelectedIndexChanged End Sub End Class