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.
ITSM/.svn/pristine/6d/6db04a38c4109f1382255df3137...

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