You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

674 lines
27 KiB

Imports System.Data
Imports System.Data.SqlClient
Imports System.Data.SqlTypes
Public Class frmblkundenparameter
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 ImageList1 As System.Windows.Forms.ImageList
Friend WithEvents ToolBar1 As System.Windows.Forms.ToolBar
Friend WithEvents btnexit As System.Windows.Forms.ToolBarButton
Friend WithEvents btnsave As System.Windows.Forms.ToolBarButton
Friend WithEvents lblPartner As System.Windows.Forms.Label
Friend WithEvents txtPartner As System.Windows.Forms.TextBox
Friend WithEvents GroupBox1 As System.Windows.Forms.GroupBox
Friend WithEvents dtblerklaerung As System.Windows.Forms.DateTimePicker
Friend WithEvents ContextMenu1 As System.Windows.Forms.ContextMenu
Friend WithEvents MnuAdd As System.Windows.Forms.MenuItem
Friend WithEvents MnuDel As System.Windows.Forms.MenuItem
Friend WithEvents MnuUpd As System.Windows.Forms.MenuItem
Friend WithEvents cbblerklaerung As System.Windows.Forms.CheckBox
Friend WithEvents GroupBox3 As System.Windows.Forms.GroupBox
Friend WithEvents Label4 As System.Windows.Forms.Label
Friend WithEvents cbPeriodizitaet As System.Windows.Forms.ComboBox
Friend WithEvents Label3 As System.Windows.Forms.Label
Friend WithEvents Label2 As System.Windows.Forms.Label
Friend WithEvents cbPeridiozitaetDetail As System.Windows.Forms.ComboBox
Friend WithEvents cbhatPeriodischeAuslieferung As System.Windows.Forms.CheckBox
Friend WithEvents dterstmalsam As System.Windows.Forms.DateTimePicker
Friend WithEvents dtgueltigbis As System.Windows.Forms.DateTimePicker
Friend WithEvents Label1 As System.Windows.Forms.Label
Friend WithEvents Label5 As System.Windows.Forms.Label
Friend WithEvents dtperiodischeAuslieferung As System.Windows.Forms.DateTimePicker
Friend WithEvents GroupBox4 As System.Windows.Forms.GroupBox
Friend WithEvents BtnHelp As System.Windows.Forms.Button
Friend WithEvents Label6 As System.Windows.Forms.Label
Friend WithEvents lblNaechteAusfuehrung As System.Windows.Forms.Label
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container()
Dim resources As System.Resources.ResourceManager = New System.Resources.ResourceManager(GetType(frmblkundenparameter))
Me.ImageList1 = New System.Windows.Forms.ImageList(Me.components)
Me.ToolBar1 = New System.Windows.Forms.ToolBar()
Me.btnexit = New System.Windows.Forms.ToolBarButton()
Me.btnsave = New System.Windows.Forms.ToolBarButton()
Me.lblPartner = New System.Windows.Forms.Label()
Me.txtPartner = New System.Windows.Forms.TextBox()
Me.GroupBox1 = New System.Windows.Forms.GroupBox()
Me.Label1 = New System.Windows.Forms.Label()
Me.cbblerklaerung = New System.Windows.Forms.CheckBox()
Me.dtblerklaerung = New System.Windows.Forms.DateTimePicker()
Me.Label5 = New System.Windows.Forms.Label()
Me.dtperiodischeAuslieferung = New System.Windows.Forms.DateTimePicker()
Me.GroupBox3 = New System.Windows.Forms.GroupBox()
Me.lblNaechteAusfuehrung = New System.Windows.Forms.Label()
Me.Label6 = New System.Windows.Forms.Label()
Me.dterstmalsam = New System.Windows.Forms.DateTimePicker()
Me.Label4 = New System.Windows.Forms.Label()
Me.cbPeridiozitaetDetail = New System.Windows.Forms.ComboBox()
Me.cbPeriodizitaet = New System.Windows.Forms.ComboBox()
Me.Label3 = New System.Windows.Forms.Label()
Me.dtgueltigbis = New System.Windows.Forms.DateTimePicker()
Me.Label2 = New System.Windows.Forms.Label()
Me.cbhatPeriodischeAuslieferung = New System.Windows.Forms.CheckBox()
Me.ContextMenu1 = New System.Windows.Forms.ContextMenu()
Me.MnuAdd = New System.Windows.Forms.MenuItem()
Me.MnuDel = New System.Windows.Forms.MenuItem()
Me.MnuUpd = New System.Windows.Forms.MenuItem()
Me.GroupBox4 = New System.Windows.Forms.GroupBox()
Me.BtnHelp = New System.Windows.Forms.Button()
Me.GroupBox1.SuspendLayout()
Me.GroupBox3.SuspendLayout()
Me.GroupBox4.SuspendLayout()
Me.SuspendLayout()
'
'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
'
'ToolBar1
'
Me.ToolBar1.Buttons.AddRange(New System.Windows.Forms.ToolBarButton() {Me.btnexit, Me.btnsave})
Me.ToolBar1.DropDownArrows = True
Me.ToolBar1.ImageList = Me.ImageList1
Me.ToolBar1.Name = "ToolBar1"
Me.ToolBar1.ShowToolTips = True
Me.ToolBar1.Size = New System.Drawing.Size(448, 25)
Me.ToolBar1.TabIndex = 0
'
'btnexit
'
Me.btnexit.ImageIndex = 0
'
'btnsave
'
Me.btnsave.ImageIndex = 1
'
'lblPartner
'
Me.lblPartner.Location = New System.Drawing.Point(8, 40)
Me.lblPartner.Name = "lblPartner"
Me.lblPartner.Size = New System.Drawing.Size(56, 23)
Me.lblPartner.TabIndex = 1
Me.lblPartner.Text = "Partner:"
'
'txtPartner
'
Me.txtPartner.BackColor = System.Drawing.Color.White
Me.txtPartner.Location = New System.Drawing.Point(64, 40)
Me.txtPartner.Name = "txtPartner"
Me.txtPartner.ReadOnly = True
Me.txtPartner.Size = New System.Drawing.Size(376, 20)
Me.txtPartner.TabIndex = 2
Me.txtPartner.Text = ""
'
'GroupBox1
'
Me.GroupBox1.Controls.AddRange(New System.Windows.Forms.Control() {Me.Label1, Me.cbblerklaerung, Me.dtblerklaerung})
Me.GroupBox1.Location = New System.Drawing.Point(8, 256)
Me.GroupBox1.Name = "GroupBox1"
Me.GroupBox1.Size = New System.Drawing.Size(432, 64)
Me.GroupBox1.TabIndex = 3
Me.GroupBox1.TabStop = False
Me.GroupBox1.Text = "Banklagernd-Erklärung"
Me.GroupBox1.Visible = False
'
'Label1
'
Me.Label1.Location = New System.Drawing.Point(224, 26)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(80, 16)
Me.Label1.TabIndex = 3
Me.Label1.Text = "Vertragsdatum"
'
'cbblerklaerung
'
Me.cbblerklaerung.Location = New System.Drawing.Point(16, 22)
Me.cbblerklaerung.Name = "cbblerklaerung"
Me.cbblerklaerung.Size = New System.Drawing.Size(192, 24)
Me.cbblerklaerung.TabIndex = 2
Me.cbblerklaerung.Text = "Der Kunde hat eine BL-Erklärung"
'
'dtblerklaerung
'
Me.dtblerklaerung.Enabled = False
Me.dtblerklaerung.Format = System.Windows.Forms.DateTimePickerFormat.Short
Me.dtblerklaerung.Location = New System.Drawing.Point(320, 24)
Me.dtblerklaerung.Name = "dtblerklaerung"
Me.dtblerklaerung.Size = New System.Drawing.Size(96, 20)
Me.dtblerklaerung.TabIndex = 1
'
'Label5
'
Me.Label5.Location = New System.Drawing.Point(243, 30)
Me.Label5.Name = "Label5"
Me.Label5.Size = New System.Drawing.Size(80, 16)
Me.Label5.TabIndex = 6
Me.Label5.Text = "Auftragsdatum"
'
'dtperiodischeAuslieferung
'
Me.dtperiodischeAuslieferung.Enabled = False
Me.dtperiodischeAuslieferung.Format = System.Windows.Forms.DateTimePickerFormat.Short
Me.dtperiodischeAuslieferung.Location = New System.Drawing.Point(328, 28)
Me.dtperiodischeAuslieferung.Name = "dtperiodischeAuslieferung"
Me.dtperiodischeAuslieferung.Size = New System.Drawing.Size(96, 20)
Me.dtperiodischeAuslieferung.TabIndex = 5
'
'GroupBox3
'
Me.GroupBox3.Controls.AddRange(New System.Windows.Forms.Control() {Me.lblNaechteAusfuehrung, Me.Label6, Me.dterstmalsam, Me.Label4, Me.cbPeridiozitaetDetail, Me.cbPeriodizitaet, Me.Label3, Me.dtgueltigbis, Me.Label2})
Me.GroupBox3.Enabled = False
Me.GroupBox3.Location = New System.Drawing.Point(8, 144)
Me.GroupBox3.Name = "GroupBox3"
Me.GroupBox3.Size = New System.Drawing.Size(432, 104)
Me.GroupBox3.TabIndex = 4
Me.GroupBox3.TabStop = False
Me.GroupBox3.Text = "Regelungen"
'
'lblNaechteAusfuehrung
'
Me.lblNaechteAusfuehrung.Location = New System.Drawing.Point(328, 24)
Me.lblNaechteAusfuehrung.Name = "lblNaechteAusfuehrung"
Me.lblNaechteAusfuehrung.Size = New System.Drawing.Size(88, 16)
Me.lblNaechteAusfuehrung.TabIndex = 21
'
'Label6
'
Me.Label6.Location = New System.Drawing.Point(216, 24)
Me.Label6.Name = "Label6"
Me.Label6.Size = New System.Drawing.Size(112, 16)
Me.Label6.TabIndex = 20
Me.Label6.Text = "Nächste Ausführung:"
'
'dterstmalsam
'
Me.dterstmalsam.Format = System.Windows.Forms.DateTimePickerFormat.Short
Me.dterstmalsam.Location = New System.Drawing.Point(128, 24)
Me.dterstmalsam.Name = "dterstmalsam"
Me.dterstmalsam.Size = New System.Drawing.Size(80, 20)
Me.dterstmalsam.TabIndex = 19
'
'Label4
'
Me.Label4.Location = New System.Drawing.Point(8, 24)
Me.Label4.Name = "Label4"
Me.Label4.Size = New System.Drawing.Size(72, 24)
Me.Label4.TabIndex = 18
Me.Label4.Text = "erstmals am:"
'
'cbPeridiozitaetDetail
'
Me.cbPeridiozitaetDetail.Enabled = False
Me.cbPeridiozitaetDetail.Items.AddRange(New Object() {"Immer am gewählten Datum", "Immer am letzten Tag des Zeitraumes"})
Me.cbPeridiozitaetDetail.Location = New System.Drawing.Point(216, 48)
Me.cbPeridiozitaetDetail.Name = "cbPeridiozitaetDetail"
Me.cbPeridiozitaetDetail.Size = New System.Drawing.Size(192, 21)
Me.cbPeridiozitaetDetail.TabIndex = 17
'
'cbPeriodizitaet
'
Me.cbPeriodizitaet.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
Me.cbPeriodizitaet.Location = New System.Drawing.Point(128, 48)
Me.cbPeriodizitaet.Name = "cbPeriodizitaet"
Me.cbPeriodizitaet.Size = New System.Drawing.Size(80, 21)
Me.cbPeriodizitaet.TabIndex = 16
'
'Label3
'
Me.Label3.Location = New System.Drawing.Point(8, 48)
Me.Label3.Name = "Label3"
Me.Label3.Size = New System.Drawing.Size(64, 24)
Me.Label3.TabIndex = 15
Me.Label3.Text = "Periodizität"
'
'dtgueltigbis
'
Me.dtgueltigbis.Format = System.Windows.Forms.DateTimePickerFormat.Short
Me.dtgueltigbis.Location = New System.Drawing.Point(128, 72)
Me.dtgueltigbis.Name = "dtgueltigbis"
Me.dtgueltigbis.Size = New System.Drawing.Size(80, 20)
Me.dtgueltigbis.TabIndex = 14
'
'Label2
'
Me.Label2.Location = New System.Drawing.Point(8, 72)
Me.Label2.Name = "Label2"
Me.Label2.Size = New System.Drawing.Size(120, 24)
Me.Label2.TabIndex = 13
Me.Label2.Text = "Regelung gültig bis"
'
'cbhatPeriodischeAuslieferung
'
Me.cbhatPeriodischeAuslieferung.Location = New System.Drawing.Point(8, 24)
Me.cbhatPeriodischeAuslieferung.Name = "cbhatPeriodischeAuslieferung"
Me.cbhatPeriodischeAuslieferung.Size = New System.Drawing.Size(240, 24)
Me.cbhatPeriodischeAuslieferung.TabIndex = 3
Me.cbhatPeriodischeAuslieferung.Text = "Kunde hat eine periodische Aushändigung"
'
'ContextMenu1
'
Me.ContextMenu1.MenuItems.AddRange(New System.Windows.Forms.MenuItem() {Me.MnuAdd, Me.MnuDel, Me.MnuUpd})
'
'MnuAdd
'
Me.MnuAdd.Index = 0
Me.MnuAdd.Text = "&Periodische Auslieferung hinzufügen"
'
'MnuDel
'
Me.MnuDel.Index = 1
Me.MnuDel.Text = "Periodische Auslieferung &löschen"
'
'MnuUpd
'
Me.MnuUpd.Index = 2
Me.MnuUpd.Text = "&Periodische Auslieferung ändern"
'
'GroupBox4
'
Me.GroupBox4.Controls.AddRange(New System.Windows.Forms.Control() {Me.Label5, Me.cbhatPeriodischeAuslieferung, Me.dtperiodischeAuslieferung})
Me.GroupBox4.Location = New System.Drawing.Point(8, 72)
Me.GroupBox4.Name = "GroupBox4"
Me.GroupBox4.Size = New System.Drawing.Size(432, 64)
Me.GroupBox4.TabIndex = 5
Me.GroupBox4.TabStop = False
Me.GroupBox4.Text = "Auftrag"
'
'BtnHelp
'
Me.BtnHelp.Anchor = (System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right)
Me.BtnHelp.Image = CType(resources.GetObject("BtnHelp.Image"), System.Drawing.Bitmap)
Me.BtnHelp.Location = New System.Drawing.Point(424, 3)
Me.BtnHelp.Name = "BtnHelp"
Me.BtnHelp.Size = New System.Drawing.Size(24, 23)
Me.BtnHelp.TabIndex = 70
'
'frmblkundenparameter
'
Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
Me.ClientSize = New System.Drawing.Size(448, 253)
Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.BtnHelp, Me.GroupBox4, Me.GroupBox1, Me.txtPartner, Me.lblPartner, Me.ToolBar1, Me.GroupBox3})
Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle
Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
Me.Name = "frmblkundenparameter"
Me.ShowInTaskbar = False
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
Me.Text = "Periodische Aushändigung"
Me.GroupBox1.ResumeLayout(False)
Me.GroupBox3.ResumeLayout(False)
Me.GroupBox4.ResumeLayout(False)
Me.ResumeLayout(False)
End Sub
#End Region
#Region "Deklarationen"
Dim m_nrpar00 As Integer
Property NRPar00() As Integer
Get
Return m_nrpar00
End Get
Set(ByVal Value As Integer)
m_nrpar00 = Value
End Set
End Property
Dim tblblkunde As New DataTable()
Dim tblperi As New DataTable()
Dim On_Load As Boolean = True
#End Region
Dim has_changes As Boolean = False
#Region "Members"
Private _naechsteAusfuehrung As DateTime
#End Region
Private Sub blkundenparameter_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim xdata As New DataTable()
xdata = get_periode()
Me.cbPeriodizitaet.DataSource = xdata
Me.cbPeriodizitaet.DisplayMember = "Periode"
Me.cbPeriodizitaet.ValueMember = "periodenr"
Me.tblperi = get_peridata()
If Me.tblperi.Rows.Count > 0 Then
Me.cbhatPeriodischeAuslieferung.Checked = True
Me.dterstmalsam.Value = Me.tblperi.Rows(0).Item("erstmals_am")
Me.dtgueltigbis.Value = Me.tblperi.Rows(0).Item("ende")
Try
Me.cbPeriodizitaet.SelectedValue = Me.tblperi.Rows(0).Item("intervall")
Catch
Me.cbPeriodizitaet.SelectedValue = 5
End Try
Dim i As Integer
Try
i = Me.tblperi.Rows(0).Item("intervall1")
Me.cbPeridiozitaetDetail.SelectedIndex = i - 1
Catch
End Try
Try
Me.dtperiodischeAuslieferung.Value = tblperi.Rows(0).Item("auftragsdatum")
If Not tblperi.Rows(0)("naechstes_ereignis") Is DBNull.Value Then
_naechsteAusfuehrung = Convert.ToDateTime(tblperi.Rows(0)("naechstes_ereignis"))
lblNaechteAusfuehrung.Text = _naechsteAusfuehrung.ToShortDateString()
End If
Catch
End Try
Else
Me.cbhatPeriodischeAuslieferung.Checked = False
Dim dt As DateTime
dt = DateAdd(DateInterval.Day, 1, Now)
Me.dterstmalsam.Value = dt
dt = DateAdd(DateInterval.Year, 1, dt)
Me.dtgueltigbis.Value = dt
Me.cbPeriodizitaet.SelectedValue = 6
End If
'beim Starten werden noch keine änderungen gemacht
has_changes = False
Me.On_Load = False
End Sub
Private Function get_bldata(ByVal nrpar00 As Integer) As DataTable
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
scmCmdToExecute.CommandText = "dbo.sp_edex_bl_get_bldata"
scmCmdToExecute.CommandType = CommandType.StoredProcedure
Dim dtToReturn As DataTable = New DataTable()
Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute)
Try
scmCmdToExecute.Connection = conn.scoDBConnection
scmCmdToExecute.Parameters.Add(New SqlParameter("@nrpar00", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, nrpar00))
sdaAdapter.Fill(dtToReturn)
Return dtToReturn
Catch ex As Exception
Finally
scmCmdToExecute.Dispose()
sdaAdapter.Dispose()
dtToReturn.Dispose()
End Try
End Function
Private Function get_peridata() As DataTable
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
scmCmdToExecute.CommandText = "dbo.sp_edex_bl_get_peridata"
scmCmdToExecute.CommandType = CommandType.StoredProcedure
Dim dtToReturn As DataTable = New DataTable()
Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute)
Try
scmCmdToExecute.Connection = conn.scoDBConnection
scmCmdToExecute.Parameters.Add(New SqlParameter("@blkundenr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Me.NRPar00))
sdaAdapter.Fill(dtToReturn)
Return dtToReturn
Catch ex As Exception
Finally
scmCmdToExecute.Dispose()
sdaAdapter.Dispose()
dtToReturn.Dispose()
End Try
End Function
Private Function get_periode() As DataTable
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
scmCmdToExecute.CommandText = "dbo.sp_edex_bl_get_periode"
scmCmdToExecute.CommandType = CommandType.StoredProcedure
Dim dtToReturn As DataTable = New DataTable()
Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute)
Try
scmCmdToExecute.Connection = conn.scoDBConnection
sdaAdapter.Fill(dtToReturn)
Return dtToReturn
Catch ex As Exception
Finally
scmCmdToExecute.Dispose()
sdaAdapter.Dispose()
dtToReturn.Dispose()
End Try
End Function
Private Sub cbPeriodizitaet_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbPeriodizitaet.SelectedIndexChanged, dterstmalsam.ValueChanged
If Me.On_Load = True Then Exit Sub
has_changes = True
Try
Dim s As String
s = Me.cbPeriodizitaet.Text
Select Case s
Case "monatlich", "zwei-monatlich", "viertel-jährlich", "viertel-jährlich", "halb-jährlich"
If Me.Last_Day_Of_Period(Me.dterstmalsam.Value) Then
Me.cbPeridiozitaetDetail.Enabled = True
Me.cbPeridiozitaetDetail.SelectedIndex = 1
Else
Me.cbPeridiozitaetDetail.Enabled = False
Me.cbPeridiozitaetDetail.SelectedIndex = -1
Me.cbPeridiozitaetDetail.SelectedText = ""
End If
Case Else
Me.cbPeridiozitaetDetail.Enabled = False
Me.cbPeridiozitaetDetail.SelectedIndex = -1
Me.cbPeridiozitaetDetail.SelectedText = ""
End Select
Catch
End Try
End Sub
Private Function Last_Day_Of_Period(ByVal Datum As DateTime) As Boolean
Dim mm As Integer
Dim dttemp As DateTime
mm = Month(Me.dterstmalsam.Value)
dttemp = Me.dterstmalsam.Value
dttemp = Me.dterstmalsam.Value.AddDays(1)
If Month(dttemp) <> Month(Me.dterstmalsam.Value) Then
Return True
Else
Return False
End If
End Function
Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbhatPeriodischeAuslieferung.CheckedChanged
If Me.cbhatPeriodischeAuslieferung.Checked = True Then
Me.GroupBox3.Enabled = True
Me.dtperiodischeAuslieferung.Enabled = True
has_changes = True
Else
Me.GroupBox3.Enabled = False
Me.dtperiodischeAuslieferung.Enabled = False
has_changes = True
End If
End Sub
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 'Exit
Close()
Case 1
If IsInputValid() Then
Me.save_bldata()
End If
End Select
End Sub
Private Function save_bldata()
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
scmCmdToExecute.CommandText = "dbo.sp_edex_bl_save_bldata"
scmCmdToExecute.CommandType = CommandType.StoredProcedure
Dim dtToReturn As DataTable = New DataTable()
Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute)
Try
scmCmdToExecute.Connection = conn.scoDBConnection
scmCmdToExecute.Parameters.Add(New SqlParameter("@nrpar00", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, NRPar00))
If Me.cbhatPeriodischeAuslieferung.Checked = False Then
scmCmdToExecute.Parameters.Add(New SqlParameter("@periauftrag", SqlDbType.DateTime, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Me.dtperiodischeAuslieferung.Value))
scmCmdToExecute.Parameters.Add(New SqlParameter("@periode", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, 0))
scmCmdToExecute.Parameters.Add(New SqlParameter("@erstmal", SqlDbType.DateTime, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Me.dterstmalsam.Value))
scmCmdToExecute.Parameters.Add(New SqlParameter("@gueltig", SqlDbType.DateTime, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Me.dtgueltigbis.Value))
scmCmdToExecute.Parameters.Add(New SqlParameter("@Periodizitaet", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, ""))
scmCmdToExecute.Parameters.Add(New SqlParameter("@Periodizitaetdetail", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, ""))
Else
scmCmdToExecute.Parameters.Add(New SqlParameter("@periauftrag", SqlDbType.DateTime, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Me.dtperiodischeAuslieferung.Value))
scmCmdToExecute.Parameters.Add(New SqlParameter("@periode", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, 1))
scmCmdToExecute.Parameters.Add(New SqlParameter("@erstmal", SqlDbType.DateTime, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Me.dterstmalsam.Value))
scmCmdToExecute.Parameters.Add(New SqlParameter("@gueltig", SqlDbType.DateTime, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Me.dtgueltigbis.Value))
scmCmdToExecute.Parameters.Add(New SqlParameter("@Periodizitaet", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Me.cbPeriodizitaet.Text))
Try
scmCmdToExecute.Parameters.Add(New SqlParameter("@Periodizitaetdetail", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Me.cbPeridiozitaetDetail.Items(Me.cbPeridiozitaetDetail.SelectedIndex)))
Catch
scmCmdToExecute.Parameters.Add(New SqlParameter("@Periodizitaetdetail", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, ""))
End Try
End If
scmCmdToExecute.Parameters.Add(New SqlParameter("@mitarbeiternr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Globals.MitarbeiterNr))
sdaAdapter.Fill(dtToReturn)
has_changes = False
Return dtToReturn
Catch ex As Exception
Finally
scmCmdToExecute.Dispose()
sdaAdapter.Dispose()
dtToReturn.Dispose()
End Try
End Function
Private Sub cbblerklaerung_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbblerklaerung.CheckedChanged
If Me.cbblerklaerung.Checked = True Then Me.dtblerklaerung.Enabled = True Else Me.dtblerklaerung.Enabled = False
End Sub
Private Sub frmblkundenparameter_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing
If has_changes Then
Dim ret As DialogResult
ret = MessageBox.Show("Die Daten wurden verändert. Möchten Sie die Änderungen speichern?", "Änderungen Speichern", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If ret = DialogResult.Yes Then
If IsInputValid() Then
save_bldata()
Else
'input ist ungültig
e.Cancel = True
End If
End If
End If
End Sub
Private Function IsInputValid() As Boolean
Try
Dim s As String = ""
'1) Wenn die Box "Kunde hat periodische Aushändigung" aktiv ist, soll der Dialog nur verlassen werden dürfen, wenn:
If cbhatPeriodischeAuslieferung.Checked Then
If Not IsNothing(_naechsteAusfuehrung) Then
'wenn das Datum "erstmals am" grösser ist als das aktuelle Tagesdatum
If dterstmalsam.Value.Date <= DateTime.Today Then
If s.Length > 1 Then s = s + vbCrLf
s = s + "- Das 'erstmals am' muss grösser sein als das aktuelle Datum"
dterstmalsam.Focus()
End If
End If
'wenn eine Peridiozität ausgewählt wurde
If IsNothing(cbPeriodizitaet.SelectedValue) Then
If s.Length > 1 Then s = s + vbCrLf
s = s + "- Es muss eine Periodizität ausgewhält werden"
dterstmalsam.Focus()
End If
If Me.dtperiodischeAuslieferung.Value > Me.dtgueltigbis.Value Then
If s.Length > 1 Then s = s + vbCrLf
s = s + "- Das Auftragsdatum kann nicht grösser als das Gültigbis-Datum sein."
Me.dtperiodischeAuslieferung.Focus()
End If
If Me.dtperiodischeAuslieferung.Value > Me.dterstmalsam.Value Then
If s.Length > 1 Then s = s + vbCrLf
s = s + "- Das Auftragsdatum kann nicht grösser als das 'Erstmals am'-Datum sein"
Me.dtperiodischeAuslieferung.Focus()
End If
If Me.dterstmalsam.Value >= Me.dtgueltigbis.Value Then
If s.Length > 1 Then s = s + vbCrLf
s = s + "Das Datum 'Erstmals am' liegt nach dem Gültig-Bis-Datum."
End If
End If
If s.Length > 0 Then
s = "Folgende Fehler sind vorhanden:" + vbCrLf + s
MsgBox(s, MsgBoxStyle.Critical)
Return False
Else
Return True
End If
Catch ex As Exception
TKBLib.Errorhandling.TraceHelper.Msg("EDOKAApp.frmblkundenparameter.ValidateInput: ", ex.Message & " StackTrance: " & ex.StackTrace, TraceLevel.Error)
End Try
End Function
Private Sub cbPeridiozitaetDetail_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbPeridiozitaetDetail.SelectedIndexChanged
If Me.On_Load = True Then Exit Sub
has_changes = True
End Sub
Private Sub dtgueltigbis_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles dtgueltigbis.ValueChanged
If Me.On_Load = True Then Exit Sub
has_changes = True
End Sub
Private Sub BtnHelp_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnHelp.Click
Globals.HTMLHelp.ShowHelpToc("periodischeaushndigung")
End Sub
Private Sub dtperiodischeAuslieferung_ValueChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles dtperiodischeAuslieferung.ValueChanged
has_changes = True
End Sub
End Class