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.
288 lines
12 KiB
288 lines
12 KiB
Imports C1.Win.C1TrueDBGrid
|
|
Imports System
|
|
Imports System.Data
|
|
Imports System.Data.SqlTypes
|
|
Imports System.Data.SqlClient
|
|
Namespace TKB.VV.Vertrag
|
|
Public Class clsVertragsereignis
|
|
Inherits TKB.VV.DB.clsVertragsereignis
|
|
|
|
#Region "Deklarationen"
|
|
Public Vertragsereignisse As TKB.VV.Sysadmin.DomainTable
|
|
Public Vertragselement As New TKB.VV.DB.clsVertragselement
|
|
Public Vertragsereignis As New TKB.VV.DB.clsVertragsereignis
|
|
'Public Ereignistypen As New TKB.VV.Sysadmin.DomainTable("Ereignistyp")
|
|
'Public Kostenarten As New TKB.VV.Sysadmin.DomainTable("Kostenart")
|
|
'Public Periodizitäten As New TKB.VV.Sysadmin.DomainTable("Periodizitaet")
|
|
Public Neuer_Datensatz As Boolean = False
|
|
|
|
Public Kuendigungsfrist As New DataTable
|
|
Private Stammdaten As New TKB.VV.Stammdaten.clsStammdaten
|
|
|
|
Public Periodizitäten As New DataTable
|
|
Public Kostenarten As New DataTable
|
|
Public Ereignistypen As New DataTable
|
|
|
|
|
|
#End Region
|
|
|
|
''' <summary>
|
|
''' Destructor Dispose
|
|
''' </summary>
|
|
''' <remarks></remarks>
|
|
Overloads Sub dispose()
|
|
Vertragsereignisse = Nothing
|
|
Vertragsereignis.Dispose()
|
|
Ereignistypen.dispose()
|
|
Kostenarten.dispose()
|
|
Periodizitäten.dispose()
|
|
MyBase.Dispose()
|
|
End Sub
|
|
Sub New()
|
|
Kuendigungsfrist = Stammdaten.Get_Stammdaten("Kuendigungsfristen", "Sort")
|
|
Periodizitäten = Stammdaten.Get_Stammdaten("Periodizitaet", "Sort")
|
|
Ereignistypen = Stammdaten.Get_Stammdaten("Ereignistyp", "Bezeichnung")
|
|
Kostenarten = Stammdaten.Get_Stammdaten("Kostenart", "Bezeichnung")
|
|
End Sub
|
|
|
|
''' <summary>
|
|
''' Vertragsereignis auslesen
|
|
''' </summary>
|
|
''' <param name="Nr">Nr des VertragsEreigniss</param>
|
|
''' <returns></returns>
|
|
''' <remarks></remarks>
|
|
Public Function Get_Ereignis(ByVal Nr As Integer)
|
|
Me.cpMainConnectionProvider = Globals.conn
|
|
Me.iEreignisNr = New SqlInt32(CType(Nr, Int32))
|
|
Globals.conn.OpenConnection()
|
|
Me.SelectOne()
|
|
Globals.conn.CloseConnection(True)
|
|
Vertragselement.cpMainConnectionProvider = Globals.conn
|
|
Vertragselement.iVertragselementnr = New SqlInt32(CType(Me.iVertragselementnr.Value, Int32))
|
|
Vertragselement.SelectOne()
|
|
End Function
|
|
''' <summary>
|
|
''' VertragsEreignis speichern
|
|
''' </summary>
|
|
''' <returns></returns>
|
|
''' <remarks></remarks>
|
|
Public Function Save_Data() As Integer
|
|
Me.cpMainConnectionProvider = Globals.conn
|
|
Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime))
|
|
Me.iMutierer = New SqlInt32(CType(Globals.clsmitarbeiter.iMitarbeiternr.Value, Int32))
|
|
Globals.conn.OpenConnection()
|
|
Me.Update()
|
|
Globals.conn.CloseConnection(True)
|
|
Me.Neuer_Datensatz = False
|
|
Return Me.iEreignisNr.Value
|
|
End Function
|
|
|
|
''' <summary>
|
|
''' Vertragsereignis zu einem Vertragselement auselesen
|
|
''' </summary>
|
|
''' <param name="c1data">Datagrid, welches die Kontaktpersonen anzeigt</param>
|
|
''' <returns></returns>
|
|
''' <remarks></remarks>
|
|
Public Function Get_Vertragsereignisse(ByRef c1data As C1TrueDBGrid)
|
|
Try
|
|
Vertragsereignisse.dispose()
|
|
Vertragsereignis = Nothing
|
|
Catch ex As Exception
|
|
End Try
|
|
Vertragsereignisse = New TKB.VV.Sysadmin.DomainTable("Ereignis", Me.iEreignisNr.ToString, Globals.clsmitarbeiter.iMitarbeiternr.Value)
|
|
c1data.DataSource = Vertragsereignisse.Tabledata
|
|
c1data.DataMember = Vertragsereignisse.Tabledata.Tables(0).TableName
|
|
End Function
|
|
|
|
''' <summary>
|
|
''' Kontaktpersonen zu einem VertragsEreignis auslesen
|
|
''' </summary>
|
|
''' <returns></returns>
|
|
''' <remarks></remarks>
|
|
Public Function Get_Vertragsereignisse() As DataSet
|
|
Try
|
|
Vertragsereignisse.dispose()
|
|
Vertragsereignis = Nothing
|
|
Catch ex As Exception
|
|
End Try
|
|
Vertragsereignisse = New TKB.VV.Sysadmin.DomainTable("Vertragsereignis", Me.iEreignisNr.ToString, Globals.clsmitarbeiter.iMitarbeiternr.Value)
|
|
Return Vertragsereignisse.Tabledata
|
|
End Function
|
|
''' <summary>
|
|
''' Kopie eines VertragsEreignisses erstellen
|
|
''' </summary>
|
|
''' <param name="Basenr"></param>
|
|
''' <returns></returns>
|
|
''' <remarks></remarks>
|
|
Public Function Create_Copy(Optional ByVal Basenr As Integer = 0) As Integer
|
|
If Basenr <> 0 Then
|
|
Get_Ereignis(Basenr)
|
|
End If
|
|
Dim db As New TKB.VV.DB.clsMyKey_Tabelle
|
|
db.cpMainConnectionProvider = Globals.conn
|
|
Dim newkey = db.get_dbkey("Ereignis")
|
|
db.Dispose()
|
|
|
|
Me.cpMainConnectionProvider = Globals.conn
|
|
Me.iEreignisNr = New SqlInt32(CType(newkey, Int32))
|
|
Me.daErstellt_am = New SqlDateTime(CType(Now, DateTime))
|
|
Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime))
|
|
Me.iMutierer = New SqlInt32(CType(Globals.clsmitarbeiter.iMitarbeiternr.Value, Int32))
|
|
Globals.conn.OpenConnection()
|
|
Me.Insert()
|
|
Globals.conn.CloseConnection(True)
|
|
Me.Neuer_Datensatz = True
|
|
Return newkey
|
|
End Function
|
|
|
|
''' <summary>
|
|
''' VertragsEreignis inaktivieren
|
|
''' </summary>
|
|
''' <param name="Basenr"></param>
|
|
''' <returns></returns>
|
|
''' <remarks></remarks>
|
|
Public Function Delete_Ereignis(Optional ByVal Basenr As Integer = 0) As Integer
|
|
If Basenr <> 0 Then
|
|
Me.Get_Ereignis(Basenr)
|
|
End If
|
|
Me.cpMainConnectionProvider = Globals.conn
|
|
Me.bAktiv = New SqlBoolean(CType(False, Boolean))
|
|
Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime))
|
|
Me.iMutierer = New SqlInt32(CType(Globals.clsmitarbeiter.iMitarbeiternr.Value, Int32))
|
|
Globals.conn.OpenConnection()
|
|
Me.Update()
|
|
Globals.conn.CloseConnection(True)
|
|
' Delete_Vertragsereignisse()
|
|
End Function
|
|
''' <summary>
|
|
''' VertragsEreignis inaktivieren
|
|
''' </summary>
|
|
''' <param name="Basenr"></param>
|
|
''' <returns></returns>
|
|
''' <remarks></remarks>
|
|
Public Overloads Function Delete(Optional ByVal Basenr As Integer = 0) As Integer
|
|
If Basenr <> 0 Then
|
|
Me.Get_Ereignis(Basenr)
|
|
End If
|
|
Me.cpMainConnectionProvider = Globals.conn
|
|
Globals.conn.OpenConnection()
|
|
MyBase.Delete()
|
|
Globals.conn.CloseConnection(True)
|
|
Me.Neuer_Datensatz = False
|
|
End Function
|
|
''' <summary>
|
|
''' Inaktivieren aller aktiven Vertragsereignisse zu einem Vertragselement
|
|
''' </summary>
|
|
''' <remarks></remarks>
|
|
Private Sub Delete_Vertragsereignisse()
|
|
Dim i As Integer
|
|
For i = 0 To Me.Vertragsereignisse.Tabledata.Tables(0).Rows.Count - 1
|
|
If Me.Vertragsereignisse.Tabledata.Tables(0).Rows(i).Item("Aktiv") = True Then
|
|
Me.Delete_Ereignis(Me.Vertragsereignisse.Tabledata.Tables(0).Rows(i).Item("Ereignisnr"))
|
|
End If
|
|
Next
|
|
End Sub
|
|
''' <summary>
|
|
''' Neues VertragsEreignis
|
|
''' </summary>
|
|
''' <returns>Key des neuen VertragsEreigniss</returns>
|
|
''' <remarks></remarks>
|
|
Public Function Add_New(ByVal Vertragselementnr As Integer) As Integer
|
|
Dim db As New TKB.VV.DB.clsMyKey_Tabelle
|
|
db.cpMainConnectionProvider = Globals.conn
|
|
Dim newkey = db.get_dbkey("Ereignis")
|
|
db.Dispose()
|
|
Me.iEreignisNr = New SqlInt32(CType(newkey, Int32))
|
|
Me.iVertragselementnr = New SqlInt32(CType(Vertragselementnr, Int32))
|
|
Me.iEreignistypNr = New SqlInt32(CType(1, Int32))
|
|
Me.iKostenartNr = New SqlInt32(CType(-1, Int32))
|
|
Me.iPeriodizitaetNr = New SqlInt32(CType(15, Int32))
|
|
Me.daDatum = New SqlDateTime(CType(SqlDateTime.Null, DateTime))
|
|
Me.daEnde = New SqlDateTime(CType(SqlDateTime.Null, DateTime))
|
|
Me.daStart = New SqlDateTime(CType(SqlDateTime.Null, DateTime))
|
|
Me.iVorlaufzeit = New SqlInt32(CType(0, Int32))
|
|
Me.fBetrag = New SqlDouble(CType(0, Double))
|
|
Me.sBeschreibung = New SqlString(CType("", String))
|
|
Me.sBezeichnung = New SqlString(CType("", String))
|
|
Me.bInklMwSt = New SqlBoolean(CType(False, Boolean))
|
|
|
|
Me.bAktiv = New SqlBoolean(CType(True, Boolean))
|
|
Me.daErstellt_am = New SqlDateTime(CType(Now, DateTime))
|
|
Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime))
|
|
Me.iMutierer = New SqlInt32(CType(Globals.clsmitarbeiter.iMitarbeiternr.Value, Int32))
|
|
Me.iSecurityLevelNr = New SqlInt32(CType(0, Int32))
|
|
Me.cpMainConnectionProvider = Globals.conn
|
|
Me.iKuendigungsfristnr = New SqlInt32(CType(Me.Kuendigungsfrist.Rows(0).Item(0), Int32))
|
|
Globals.conn.OpenConnection()
|
|
Me.Insert()
|
|
Globals.conn.CloseConnection(True)
|
|
Me.Neuer_Datensatz = True
|
|
Return newkey
|
|
End Function
|
|
|
|
Public History As TKB.VV.Sysadmin.DomainTable
|
|
''' <summary>
|
|
''' History lesen und dem Grid übergeben
|
|
''' </summary>
|
|
''' <param name="c1data">C1TrueDBGrid mit History</param>
|
|
''' <returns></returns>
|
|
''' <remarks></remarks>
|
|
Public Function Get_History(ByRef c1data As C1TrueDBGrid)
|
|
Try
|
|
History = Nothing
|
|
Catch ex As Exception
|
|
|
|
End Try
|
|
History = New TKB.VV.Sysadmin.DomainTable("History_Ereignis", Me.iEreignisNr.ToString, Globals.clsmitarbeiter.iMitarbeiternr.Value)
|
|
c1data.DataSource = History.Tabledata
|
|
c1data.DataMember = History.Tabledata.Tables(0).TableName
|
|
End Function
|
|
|
|
Public Function Check_Zahlungsdaten(ByVal Key As Integer) As Boolean
|
|
For Each dr As DataRow In Me.Ereignistypen.Rows
|
|
If dr.Item("Ereignistypnr") = Key And dr.Item("Zahlung") = True Then
|
|
Return True
|
|
End If
|
|
Next
|
|
Return False
|
|
End Function
|
|
Public Function Check_Kuendigungsdaten(ByVal Key As Integer) As Boolean
|
|
For Each dr As DataRow In Me.Ereignistypen.Rows
|
|
If dr.Item("Ereignistypnr") = Key And dr.Item("Kuendigung") = True Then
|
|
Return True
|
|
End If
|
|
Next
|
|
Return False
|
|
End Function
|
|
|
|
|
|
''' <summary>
|
|
''' Datumscheck
|
|
''' </summary>
|
|
''' <param name="id"></param>
|
|
''' <returns></returns>
|
|
''' <remarks></remarks>
|
|
Public Function Datumscheck(ByVal vertragselementnr As Integer, ByVal datum As DateTime, ByVal element As String) As DataTable
|
|
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
|
|
Dim dtToReturn As DataTable = New DataTable()
|
|
Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute)
|
|
scmCmdToExecute.CommandText = "dbo.sp_vertragsereignis_checkdaten"
|
|
scmCmdToExecute.CommandType = CommandType.StoredProcedure
|
|
scmCmdToExecute.Connection = conn.scoDBConnection
|
|
Try
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@vertragselementnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, vertragselementnr))
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@datum", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, datum))
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@element", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, element))
|
|
sdaAdapter.Fill(dtToReturn)
|
|
Return dtToReturn
|
|
Catch ex As Exception
|
|
Throw New Exception("clsVertragselement::" & scmCmdToExecute.CommandText & "::Error occured." & ex.Message, ex)
|
|
Finally
|
|
scmCmdToExecute.Dispose()
|
|
sdaAdapter.Dispose()
|
|
End Try
|
|
End Function
|
|
|
|
End Class
|
|
End Namespace
|