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 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