387 lines
15 KiB
VB.net
387 lines
15 KiB
VB.net
Imports System
|
|
Imports System.Data
|
|
Imports System.Data.SqlTypes
|
|
Imports System.Data.SqlClient
|
|
Imports System.IO
|
|
|
|
|
|
Namespace DB
|
|
|
|
Public Class KommunikationAuspraegung
|
|
Inherits DB.clsKommunkationAuspraegung
|
|
|
|
Public daten As New DataTable
|
|
Public Neuer_Datensatz As Boolean = False
|
|
|
|
Public KommunikationAuspraegung_Zielgruppen As New DataTable
|
|
|
|
Dim mMutierer As String
|
|
Property MutiererText() As String
|
|
Get
|
|
Return mMutierer
|
|
End Get
|
|
Set(ByVal value As String)
|
|
mMutierer = value
|
|
End Set
|
|
End Property
|
|
|
|
Sub New()
|
|
|
|
End Sub
|
|
|
|
Public Overloads Sub dispose()
|
|
MyBase.Dispose()
|
|
Try
|
|
Catch
|
|
End Try
|
|
End Sub
|
|
|
|
''' <summary>
|
|
''' Mutierer auslesen
|
|
''' </summary>
|
|
''' <returns></returns>
|
|
''' <remarks></remarks>
|
|
Public Function Get_Mutierer(ByVal nr As Integer) As String
|
|
Dim ma As New DB.clsMitarbeiter
|
|
Dim dt As New DataTable
|
|
Dim Retvalue As String
|
|
ma.cpMainConnectionProvider = Globals.conn
|
|
ma.iMitarbeiternr = New SqlInt32(CType(nr, Int32))
|
|
dt = ma.SelectOne()
|
|
If dt.Rows.Count = 0 Then
|
|
Retvalue = ("{" + nr.ToString + "}")
|
|
Else
|
|
Retvalue = ma.sName.ToString + " " + ma.sVorname.ToString + ", " + ma.sTgnummer.ToString
|
|
End If
|
|
ma.Dispose()
|
|
dt.Dispose()
|
|
Return Retvalue
|
|
End Function
|
|
|
|
|
|
Public Function Get_Auspraegung(ByVal Nr As Integer)
|
|
Me.cpMainConnectionProvider = Globals.conn
|
|
Me.iKommunikationAuspraegungNr = New SqlInt32(CType(Nr, Int32))
|
|
Globals.conn.OpenConnection()
|
|
Me.daten = Me.SelectOne()
|
|
Globals.conn.CloseConnection(True)
|
|
Try
|
|
Catch ex As Exception
|
|
End Try
|
|
Me.MutiererText = Get_Mutierer(Me.iMutierer.Value)
|
|
get_zielgruppen()
|
|
End Function
|
|
|
|
Public Function Get_Zielgruppen()
|
|
Dim connection As New SqlConnection()
|
|
Dim da As New SqlDataAdapter("", connection)
|
|
Me.KommunikationAuspraegung_Zielgruppen.Rows.Clear()
|
|
Dim sqlcmd As New SqlCommand
|
|
sqlcmd.CommandText = "sp_get_Zielgruppen"
|
|
sqlcmd.Parameters.Add("@KommunikationAuspraegungnr", SqlDbType.Int, 4)
|
|
sqlcmd.Parameters(0).Value = Me.iKommunikationAuspraegungNr.Value
|
|
sqlcmd.CommandType = CommandType.StoredProcedure
|
|
sqlcmd.Connection = connection
|
|
Try
|
|
connection.ConnectionString = Globals.sConnectionString
|
|
connection.Open()
|
|
da.SelectCommand = sqlcmd
|
|
da.Fill(KommunikationAuspraegung_Zielgruppen)
|
|
Catch ex As Exception
|
|
Finally
|
|
connection.Close()
|
|
da.Dispose()
|
|
sqlcmd.Dispose()
|
|
End Try
|
|
Dim tn As TreeNode
|
|
End Function
|
|
|
|
Public Function Save_Data() As Integer
|
|
Me.cpMainConnectionProvider = Globals.conn
|
|
Me.iMutierer = New SqlInt32(CType(Globals.Mitarbeiternr, Int32))
|
|
Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime))
|
|
Globals.conn.OpenConnection()
|
|
Me.Update()
|
|
Globals.conn.CloseConnection(True)
|
|
Me.Neuer_Datensatz = False
|
|
End Function
|
|
|
|
Public Function Create_Copy(Optional ByVal Basenr As Integer = 0) As Integer
|
|
If Basenr <> 0 Then
|
|
Get_Auspraegung(Basenr)
|
|
End If
|
|
Dim db As New DB.clsMyKey_Tabelle
|
|
db.cpMainConnectionProvider = Globals.conn
|
|
Dim newkey = db.get_dbkey("KommunikationAuspraeggung")
|
|
db.Dispose()
|
|
|
|
Me.cpMainConnectionProvider = Globals.conn
|
|
Me.iKommunikationNr = 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.Mitarbeiternr, Int32))
|
|
Globals.conn.OpenConnection()
|
|
Me.Insert()
|
|
Globals.conn.CloseConnection(True)
|
|
Me.Neuer_Datensatz = True
|
|
Return newkey
|
|
End Function
|
|
|
|
''' <summary>
|
|
''' Löschen eines Datensatzes erstellen.
|
|
''' </summary>
|
|
''' <param name="Basenr">Ursprungs-Person: Ist dieser Wert nicht 0, werden die Daten mit BaseNr zuerst gelesen</param>
|
|
''' <returns></returns>
|
|
''' <remarks></remarks>
|
|
Public Function Delete_Kommunikationsauspraegung(Optional ByVal Basenr As Integer = 0) As Integer
|
|
If Basenr <> 0 Then
|
|
Get_Auspraegung(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.Mitarbeiternr, Int32))
|
|
Globals.conn.OpenConnection()
|
|
Me.Update()
|
|
Globals.conn.CloseConnection(True)
|
|
Me.Neuer_Datensatz = False
|
|
End Function
|
|
|
|
Public Overloads Function Delete(Optional ByVal Basenr As Integer = 0) As Integer
|
|
If Basenr <> 0 Then
|
|
Get_Auspraegung(Basenr)
|
|
End If
|
|
Me.cpMainConnectionProvider = Globals.conn
|
|
Globals.conn.OpenConnection()
|
|
MyBase.Delete()
|
|
Globals.conn.CloseConnection(True)
|
|
Me.Neuer_Datensatz = False
|
|
End Function
|
|
|
|
''' <summary>
|
|
''' Neue Person einfügen
|
|
''' </summary>
|
|
''' <returns></returns>
|
|
''' <remarks></remarks>
|
|
Public Function Add_New(ByVal Kommunikationnr As Integer, ByVal Bezeichnung As String) As Integer
|
|
Dim db As New DB.clsMyKey_Tabelle
|
|
db.cpMainConnectionProvider = Globals.conn
|
|
Dim newkey = db.get_dbkey("KommunikationAuspraeggung")
|
|
db.Dispose()
|
|
Me.iKommunikationAuspraegungNr = New SqlInt32(CType(newkey, Int32))
|
|
Me.iKommunikationAuspraegungNr = New SqlInt32(CType(Kommunikationnr, Int32))
|
|
Me.sBezeichnung = New SqlString(CType(Bezeichnung, String))
|
|
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.Mitarbeiternr, Int32))
|
|
Me.cpMainConnectionProvider = Globals.conn
|
|
Globals.conn.OpenConnection()
|
|
Me.Insert()
|
|
Globals.conn.CloseConnection(True)
|
|
Me.Neuer_Datensatz = True
|
|
Return newkey
|
|
End Function
|
|
|
|
Public Function Get_Eintraege(ByVal Themanr As Integer, Optional Orderby As Integer = 1) As DataTable
|
|
Dim Eintragsdaten As New DataTable
|
|
Dim connection As New SqlConnection()
|
|
Dim da As New SqlDataAdapter("", connection)
|
|
Eintragsdaten.Rows.Clear()
|
|
Dim sqlcmd As New SqlCommand
|
|
sqlcmd.CommandText = "sp_get_entwicklungseintraege"
|
|
sqlcmd.Parameters.Add("@Themanr", SqlDbType.Int, 4)
|
|
sqlcmd.Parameters.Add("@Order", SqlDbType.Int, 4)
|
|
sqlcmd.Parameters(0).Value = Themanr
|
|
sqlcmd.Parameters(1).Value = Orderby
|
|
sqlcmd.CommandType = CommandType.StoredProcedure
|
|
sqlcmd.Connection = connection
|
|
Try
|
|
connection.ConnectionString = Globals.sConnectionString
|
|
connection.Open()
|
|
da.SelectCommand = sqlcmd
|
|
da.Fill(Eintragsdaten)
|
|
Return Eintragsdaten
|
|
Catch ex As Exception
|
|
Finally
|
|
connection.Close()
|
|
da.Dispose()
|
|
sqlcmd.Dispose()
|
|
End Try
|
|
End Function
|
|
|
|
Public Function Get_Eintraege(ByRef Tree As TreeView, ByVal Themanr As Integer)
|
|
Dim Eintragsdaten As New DataTable
|
|
Dim connection As New SqlConnection()
|
|
Dim da As New SqlDataAdapter("", connection)
|
|
Eintragsdaten.Rows.Clear()
|
|
Dim sqlcmd As New SqlCommand
|
|
sqlcmd.CommandText = "sp_get_entwicklungseintraege"
|
|
sqlcmd.Parameters.Add("@Themanr", SqlDbType.Int, 4)
|
|
sqlcmd.Parameters(0).Value = Themanr
|
|
sqlcmd.CommandType = CommandType.StoredProcedure
|
|
sqlcmd.Connection = connection
|
|
Try
|
|
connection.ConnectionString = Globals.sConnectionString
|
|
connection.Open()
|
|
da.SelectCommand = sqlcmd
|
|
da.Fill(Eintragsdaten)
|
|
Catch ex As Exception
|
|
Finally
|
|
connection.Close()
|
|
da.Dispose()
|
|
sqlcmd.Dispose()
|
|
End Try
|
|
Dim tn As TreeNode
|
|
Tree.Nodes.Clear()
|
|
Dim tnr As Integer = -1
|
|
Dim d As DateTime
|
|
For Each rec As DataRow In Eintragsdaten.Rows
|
|
If tnr <> rec.Item("ThemaEntwicklungnr") Then
|
|
tn = New TreeNode
|
|
tn.Tag = rec.Item("ThemaEntwicklungnr")
|
|
d = rec.Item("mutiert_am")
|
|
tn.Text = rec.Item("Bezeichnung") + "/" + d.ToShortDateString + "/" + rec.Item("mutierer")
|
|
Tree.Nodes.Add(tn)
|
|
tnr = rec.Item("ThemaEntwicklungnr")
|
|
Else
|
|
Dim tn1 As New TreeNode
|
|
tn1.Tag = rec.Item("ThemaEntwicklungnr")
|
|
tn1.Text = rec.Item("mutiert_am") + " - " + rec.Item("Mutierer")
|
|
tn.Nodes.Add(tn1)
|
|
End If
|
|
Next
|
|
|
|
End Function
|
|
|
|
Public Function Get_Dokument(ByVal Filename As String)
|
|
|
|
Dim connection As New SqlConnection()
|
|
Dim da As New SqlDataAdapter("Select * From KommunkationAuspraegung where KommunikationAuspraegungNr=" + Me.iKommunikationAuspraegungNr.Value.ToString, connection)
|
|
Dim CB As SqlCommandBuilder = New SqlCommandBuilder(da)
|
|
Dim ds As New DataSet()
|
|
Try
|
|
connection.ConnectionString = Globals.sConnectionString
|
|
connection.Open()
|
|
da.Fill(ds, "Dokument")
|
|
Dim myRow As DataRow
|
|
myRow = ds.Tables(0).Rows(0)
|
|
Dim MyData() As Byte
|
|
MyData = myRow.Item(4)
|
|
|
|
Dim K As Long
|
|
K = UBound(MyData)
|
|
Dim fs As New FileStream(Filename, FileMode.OpenOrCreate, FileAccess.Write)
|
|
fs.Write(MyData, 0, K)
|
|
fs.Close()
|
|
fs = Nothing
|
|
Catch ex As Exception
|
|
'MsgBox(ex.Message, MsgBoxStyle.Critical)
|
|
Return ""
|
|
Finally
|
|
connection.Close()
|
|
connection = Nothing
|
|
End Try
|
|
CB = Nothing
|
|
ds = Nothing
|
|
da = Nothing
|
|
Return Filename
|
|
End Function
|
|
|
|
Public Function Save_Dokument(ByVal Filename As String)
|
|
Dim Connection As New SqlConnection()
|
|
Dim DA As New SqlDataAdapter("select * from KommunkationAuspraegung where KommunikationAuspraegungNr=" + Me.iKommunikationAuspraegungNr.Value.ToString, Connection)
|
|
Dim cb As SqlCommandBuilder = New SqlCommandBuilder(DA)
|
|
Dim ds As New DataSet()
|
|
Dim fs As New FileStream(Filename, FileMode.OpenOrCreate, FileAccess.Read)
|
|
Dim mydata(fs.Length) As Byte
|
|
fs.Read(mydata, 0, fs.Length)
|
|
fs.Close()
|
|
Try
|
|
Connection.ConnectionString = Globals.sConnectionString
|
|
Connection.Open()
|
|
DA.Fill(ds, "Dokument")
|
|
Dim myRow As DataRow
|
|
If ds.Tables(0).Rows.Count = 0 Then
|
|
Return False
|
|
Else
|
|
myRow = ds.Tables(0).Rows(0)
|
|
myRow.Item(4) = mydata
|
|
DA.Update(ds, "Dokument")
|
|
End If
|
|
Catch ex As Exception
|
|
FileOpen(1, Filename, OpenMode.Output)
|
|
FileClose(1)
|
|
Return False
|
|
End Try
|
|
fs = Nothing
|
|
cb = Nothing
|
|
ds = Nothing
|
|
DA = Nothing
|
|
Connection.Close()
|
|
Connection = Nothing
|
|
Return True
|
|
End Function
|
|
|
|
Public Function save_zuteilung(ByRef cb As CheckedListBox)
|
|
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
|
|
scmCmdToExecute.CommandText = "dbo.[sp_set_kommunikationauspraegung_zielgruppe]"
|
|
scmCmdToExecute.CommandType = CommandType.StoredProcedure
|
|
scmCmdToExecute.Connection = m_scoMainConnection
|
|
Try
|
|
scmCmdToExecute.Connection.Open()
|
|
Catch ex As Exception
|
|
Finally
|
|
End Try
|
|
|
|
For i = 0 To cb.Items.Count - 1
|
|
cb.GetItemCheckState(i)
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@kommunikationauspraegungnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, Me.iKommunikationAuspraegungNr))
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@Zielgruppe", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, cb.GetItemText(cb.Items(i))))
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@checked", SqlDbType.Int, 4, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, cb.GetItemChecked(i)))
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@mutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, Globals.Mitarbeiternr))
|
|
scmCmdToExecute.ExecuteNonQuery()
|
|
scmCmdToExecute.Parameters.Clear()
|
|
Next
|
|
scmCmdToExecute.Connection.Close()
|
|
scmCmdToExecute.Dispose()
|
|
End Function
|
|
|
|
Public Function Save_freitext(ByVal themaentwicklungnr As Integer, text As String, ByVal TYPE As Integer, ByVal themanr As Integer)
|
|
Dim Eintragsdaten As New DataTable
|
|
If text.Length > 4096 Then text = text.Substring(0, 4095)
|
|
Dim connection As New SqlConnection()
|
|
Eintragsdaten.Rows.Clear()
|
|
Dim sqlcmd As New SqlCommand
|
|
sqlcmd.CommandText = "sp_update_freitext"
|
|
sqlcmd.Parameters.Add("@Keyvalue", SqlDbType.Int, 4)
|
|
sqlcmd.Parameters(0).Value = themaentwicklungnr
|
|
sqlcmd.Parameters.Add("@text", SqlDbType.VarChar, 4096)
|
|
sqlcmd.Parameters(1).Value = text
|
|
sqlcmd.Parameters.Add("@TYPE", SqlDbType.Int, 4)
|
|
sqlcmd.Parameters(2).Value = TYPE
|
|
|
|
sqlcmd.Parameters.Add("@Themanr", SqlDbType.Int, 4)
|
|
sqlcmd.Parameters(3).Value = themanr
|
|
|
|
|
|
sqlcmd.CommandType = CommandType.StoredProcedure
|
|
sqlcmd.Connection = connection
|
|
Try
|
|
connection.ConnectionString = Globals.sConnectionString
|
|
connection.Open()
|
|
sqlcmd.ExecuteNonQuery()
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message)
|
|
Finally
|
|
connection.Close()
|
|
sqlcmd.Dispose()
|
|
End Try
|
|
End Function
|
|
|
|
|
|
End Class
|
|
|
|
End Namespace
|
|
|