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.

1248 lines
47 KiB

Imports System.Data.SqlClient
Imports System.IO
Public Class clsDatahandling
Public Connectionstring As String
Sub New()
Me.Connectionstring = Get_Connectionstring()
End Sub
Public Function Get_Connectionstring()
Dim rootWebConfig As System.Configuration.Configuration
rootWebConfig = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("~/MyWebSiteRoot")
Dim connString As System.Configuration.ConnectionStringSettings
If (rootWebConfig.ConnectionStrings.ConnectionStrings.Count > 0) Then
connString = rootWebConfig.ConnectionStrings.ConnectionStrings("LPConnectionString")
If Not (connString.ConnectionString = Nothing) Then
Return connString.ConnectionString
Else
MsgBox("Kein Connetionstring vorhanden")
Return ""
End If
End If
End Function
Public Function Get_Tabledata(ByVal Tablename As String, Optional StoredProc As Boolean = False, Optional is_SQL_String As Boolean = False) As DataSet
Dim sqlconnect As New SqlConnection
Dim ds As New DataSet
ds.Tables.Clear()
sqlconnect.ConnectionString = Me.Connectionstring
sqlconnect.Open()
Dim da As New SqlDataAdapter("", sqlconnect)
Dim sqlcmd As New SqlCommand
sqlcmd.Connection = sqlconnect
If StoredProc = True Then
sqlcmd.CommandType = CommandType.StoredProcedure
sqlcmd.CommandText = Tablename
Else
sqlcmd.CommandType = CommandType.Text
sqlcmd.CommandText = "Select * from " + Tablename
End If
If is_SQL_String = True Then
sqlcmd.CommandText = Tablename
End If
' sqlcmd.CommandType = CommandType.StoredProcedure
' sqlcmd.CommandText = "Berufsliste"
da.SelectCommand = sqlcmd
da.Fill(ds, "Daten")
Return ds
End Function
Public Function Run_Statement(ByVal Statement As String) As Boolean
Try
Dim sqlconnect As New SqlConnection
Dim ds As New DataSet
ds.Tables.Clear()
sqlconnect.ConnectionString = Me.Connectionstring
sqlconnect.Open()
Dim sqlcmd As New SqlCommand
sqlcmd.Connection = sqlconnect
sqlcmd.CommandText = Statement
sqlcmd.ExecuteNonQuery()
Return True
Catch ex As Exception
Return False
End Try
End Function
#Region "DBKey"
Public Function Get_NewDBKey(ByVal Tablename As String) As Integer
Dim sqlconnect As New SqlConnection
Dim ds As New DataSet
ds.Tables.Clear()
sqlconnect.ConnectionString = Me.Connectionstring
sqlconnect.Open()
Dim da As New SqlDataAdapter("", sqlconnect)
Dim sqlcmd As New SqlCommand
sqlcmd.Connection = sqlconnect
sqlcmd.CommandType = CommandType.Text
sqlcmd.CommandText = "Select key_wert from key_tabelle where beschreibung='" + Tablename + "'"
da.SelectCommand = sqlcmd
da.Fill(ds, "Daten")
Dim keyvalue = ds.Tables(0).Rows(0).Item(0)
keyvalue = keyvalue + 1
sqlcmd.CommandText = "Update key_tabelle set key_wert = " + keyvalue.ToString + " where beschreibung='" + Tablename + "'"
sqlcmd.ExecuteNonQuery()
Return keyvalue
End Function
Public Function Get_LastKey(ByVal Tablename As String, ByVal fieldname As String) As Integer
Dim SQLconnect As New SqlConnection()
Dim ds As New DataSet
ds.Tables.Clear()
SQLconnect.ConnectionString = Me.Connectionstring
SQLconnect.Open()
Dim da As New SqlDataAdapter("", SQLconnect)
Dim sqlcmd As New SqlCommand
sqlcmd.Connection = SQLconnect
sqlcmd.CommandType = CommandType.Text
sqlcmd.CommandText = "Select top 1 " + fieldname + " from " + Tablename + " order by " + fieldname + " desc"
da.SelectCommand = sqlcmd
da.Fill(ds, "Daten")
Dim keyvalue As Integer = 0
Try
keyvalue = ds.Tables(0).Rows(0).Item(0)
keyvalue = keyvalue + 1
Catch ex As Exception
keyvalue = 0
End Try
sqlcmd.Dispose()
SQLconnect.Close()
ds.Dispose()
Return keyvalue
End Function
#End Region
#Region "Menu"
Public Function Get_Menu(ByVal Menutype As Integer) As DataTable
Dim SQLconnect As New SqlConnection()
Dim ds As New DataSet
ds.Tables.Clear()
SQLconnect.ConnectionString = Me.Connectionstring
SQLconnect.Open()
Dim da As New SqlDataAdapter("", SQLconnect)
Dim sqlcmd As New SqlCommand
sqlcmd.Connection = SQLconnect
sqlcmd.CommandType = CommandType.Text
If Get_Option(11) = "1/2" And Menutype = 3 Then
sqlcmd.CommandText = "Select * from web_menu where aktiv=1 and menutext<>'Schüler' and ( menutype=1 or menutype = " + Menutype.ToString + ") order by menutype, sort"
Else
sqlcmd.CommandText = "Select * from web_menu where aktiv=1 and ( menutype=1 or menutype = " + Menutype.ToString + ") order by menutype, sort"
End If
da.SelectCommand = sqlcmd
da.Fill(ds, "Daten")
sqlcmd.Dispose()
SQLconnect.Close()
Return ds.Tables(0)
End Function
#End Region
#Region "Firma"
Public Function Insert_Firma(ByVal keyvalue As Integer) As Boolean
Try
Dim SQLconnect As New SqlConnection()
Dim sql As String = ""
SQLconnect.ConnectionString = Me.Connectionstring
SQLconnect.Open()
Dim sqlcmd As New SqlCommand
sqlcmd.Connection = SQLconnect
sqlcmd.CommandType = CommandType.Text
sql = "Insert into firma (firmanr, aktiv, erstellt_am, mutiert_am, mutierer) values(" + keyvalue.ToString + ",1,getdate(),getdate(),1)"
sqlcmd.CommandText = sql
sqlcmd.ExecuteNonQuery()
sqlcmd.Dispose()
SQLconnect.Close()
Return True
Catch ex As Exception
Return False
End Try
End Function
Public Function Firma_aktivieren(ByVal firmanr As Integer, userid As Integer)
Try
Dim SQLconnect As New SqlConnection()
Dim sql As String = ""
SQLconnect.ConnectionString = Me.Connectionstring
SQLconnect.Open()
Dim sqlcmd As New SqlCommand
sqlcmd.Connection = SQLconnect
sqlcmd.CommandType = CommandType.Text
sql = "update firma set aktuell=1, mutiert_am=getdate(), mutierer=" + userid.ToString + " where firmanr=" + firmanr.ToString
sqlcmd.CommandText = sql
sqlcmd.ExecuteNonQuery()
sqlcmd.Dispose()
SQLconnect.Close()
Return True
Catch ex As Exception
Return False
End Try
End Function
Public Function Firmen_Inaktivieren(userid As Integer)
Try
Dim SQLconnect As New SqlConnection()
Dim sql As String = ""
SQLconnect.ConnectionString = Me.Connectionstring
SQLconnect.Open()
Dim sqlcmd As New SqlCommand
sqlcmd.Connection = SQLconnect
sqlcmd.CommandType = CommandType.Text
sql = "update firma set aktuell=0, mutiert_am=getdate(), mutierer=" + userid.ToString + " where aktiv=1 and aktuell=1"
sqlcmd.CommandText = sql
sqlcmd.ExecuteNonQuery()
sqlcmd.Dispose()
SQLconnect.Close()
Return True
Catch ex As Exception
Return False
End Try
End Function
Public Function Inaktive_Berufsangebote_loeschen(userid As Integer)
Try
Dim SQLconnect As New SqlConnection()
Dim sql As String = ""
SQLconnect.ConnectionString = Me.Connectionstring
SQLconnect.Open()
Dim sqlcmd As New SqlCommand
sqlcmd.Connection = SQLconnect
sqlcmd.CommandType = CommandType.Text
sql = "update firmaberuf set aktiv=0, mutiert_am=getdate(),mutierer=" + userid.ToString + " where firmaberuf.firmanr in (select firmanr from firma where aktiv=0 or aktuell=0)"
sqlcmd.CommandText = sql
sqlcmd.ExecuteNonQuery()
sqlcmd.Dispose()
SQLconnect.Close()
Return True
Catch ex As Exception
Return False
End Try
End Function
Public Function Get_Firma(Firmanr As Integer) As DataTable
Try
Dim SQLconnect As New SqlConnection()
Dim ds As New DataSet
ds.Tables.Clear()
SQLconnect.ConnectionString = Me.Connectionstring
SQLconnect.Open()
Dim da As New SqlDataAdapter("", SQLconnect)
Dim sqlcmd As New SqlCommand
sqlcmd.Connection = SQLconnect
sqlcmd.CommandType = CommandType.Text
sqlcmd.CommandText = "Select * from firma where firmanr=" + Firmanr.ToString
da.SelectCommand = sqlcmd
da.Fill(ds, "Daten")
sqlcmd.Dispose()
SQLconnect.Close()
Return ds.Tables(0)
Catch ex As Exception
Return Nothing
End Try
End Function
Public Function Get_Lehrer(Klassenr As Integer) As String
Dim ds As New DataSet
Try
Dim SQLconnect As New SqlConnection()
ds.Tables.Clear()
SQLconnect.ConnectionString = Me.Connectionstring
SQLconnect.Open()
Dim da As New SqlDataAdapter("", SQLconnect)
Dim sqlcmd As New SqlCommand
sqlcmd.Connection = SQLconnect
sqlcmd.CommandType = CommandType.Text
sqlcmd.CommandText = "SELECT dbo.web_Lehrer.Name +' '+ dbo.web_Lehrer.Vorname as Lehrername FROM dbo.Klasse INNER JOIN dbo.web_Lehrer ON dbo.Klasse.Lehrernr = dbo.web_Lehrer.LehrerNr where dbo.klasse.klassenr=" + Klassenr.ToString
da.SelectCommand = sqlcmd
da.Fill(ds, "Daten")
sqlcmd.Dispose()
SQLconnect.Close()
Try
Return ds.Tables(0).Rows(0).Item(0)
Catch ex As Exception
Return ""
End Try
Catch ex As Exception
Return Nothing
Finally
ds.Dispose()
End Try
End Function
Public Function Get_Firmenliste() As DataTable
Try
Dim SQLconnect As New SqlConnection()
Dim ds As New DataSet
ds.Tables.Clear()
SQLconnect.ConnectionString = Me.Connectionstring
SQLconnect.Open()
Dim da As New SqlDataAdapter("", SQLconnect)
Dim sqlcmd As New SqlCommand
sqlcmd.Connection = SQLconnect
sqlcmd.CommandType = CommandType.Text
sqlcmd.CommandText = "Select FirmaNr, NameZ1 from firma "
da.SelectCommand = sqlcmd
da.Fill(ds, "Daten")
sqlcmd.Dispose()
SQLconnect.Close()
Return ds.Tables(0)
Catch ex As Exception
Return Nothing
End Try
End Function
Public Function Insert_Ansprechpartner(Firmanr As Integer, ByVal name As String, ByVal vorname As String, ByVal telefon As String, ByVal email As String, ByVal anrede As String)
Try
Dim SQLconnect As New SqlConnection()
Dim sql As String = ""
SQLconnect.ConnectionString = Me.Connectionstring
SQLconnect.Open()
Dim sqlcmd As New SqlCommand
sqlcmd.Connection = SQLconnect
sqlcmd.CommandType = CommandType.Text
sql = "Insert into Ansprechpartner (firmanr, name, vorname, tel, email, anrede, erstellt_am, mutiert_am, aktiv)"
sql = sql + " values(" + Firmanr.ToString + ", '" + name + "','" + vorname + "','" + telefon + "','" + email + "','" + anrede + "',getdate(),getdate(),1)"
sqlcmd.CommandText = sql
sqlcmd.ExecuteNonQuery()
sqlcmd.Dispose()
SQLconnect.Close()
Return True
Catch ex As Exception
Return False
End Try
End Function
Public Function Insert_FirmaBeruf(ByVal Firmanr As Integer, ByVal berufnr As Integer, ByVal ansprechpartnernr As Integer, ByVal zeitnr As Integer, ByVal anzahl As Integer, ByVal klassenr As Integer, userid As Integer)
Try
Dim ds As New DataSet
ds = Get_Tabledata("Select KlasseNr from Beruf where berufnr=" + berufnr.ToString, False, True)
'Dim klassenr As Integer = ds.Tables(0).Rows(0).Item(0)
ds.Dispose()
Dim newkey As Integer
newkey = Get_NewDBKey("FirmaBeruf")
Dim SQLconnect As New SqlConnection()
Dim sql As String = ""
SQLconnect.ConnectionString = Me.Connectionstring
SQLconnect.Open()
Dim sqlcmd As New SqlCommand
sqlcmd.Connection = SQLconnect
sqlcmd.CommandType = CommandType.Text
sql = "Insert into FirmaBeruf ( FirmaBerufnr, FirmaNr, Berufnr, AnsprechpartnerNr, ZeitNr, Bemerkung, Aktiv, Erstellt_am, Mutiert_am, Mutierer, Anzahl, klassenr)"
sql = sql + " values(" + newkey.ToString + ", " + Firmanr.ToString + "," + berufnr.ToString + "," + ansprechpartnernr.ToString + "," + zeitnr.ToString + ",''," + "1" + ",'" + Now + "','" + Now + "'," + userid.ToString + "," + anzahl.ToString + "," + klassenr.ToString + ")"
sqlcmd.CommandText = sql
sqlcmd.ExecuteNonQuery()
sqlcmd.Dispose()
SQLconnect.Close()
Return True
Catch ex As Exception
Return False
End Try
End Function
#End Region
#Region "Schueler"
Public Function verify_klasse(ByVal klassenr As Integer) As String
Dim sqlconnect As New SqlConnection
Dim ds As New DataSet
ds.Tables.Clear()
sqlconnect.ConnectionString = Me.Connectionstring
sqlconnect.Open()
Dim da As New SqlDataAdapter("", sqlconnect)
Dim sqlcmd As New SqlCommand
sqlcmd.Connection = sqlconnect
sqlcmd.CommandType = CommandType.StoredProcedure
sqlcmd.CommandText = "verify_klasse"
sqlcmd.Parameters.Add("@klassenr", SqlDbType.Int)
sqlcmd.Parameters(0).Value = klassenr
da.SelectCommand = sqlcmd
da.Fill(ds, "Daten")
Return ds.Tables(0).Rows(0).Item(0)
End Function
Public Function Insert_Schueler(ByVal klassenr As Integer, ByVal klassentyp As Integer) As Integer
Try
Dim SQLconnect As New SqlConnection()
Dim sql As String = ""
SQLconnect.ConnectionString = Me.Connectionstring
SQLconnect.Open()
Dim sqlcmd As New SqlCommand
sqlcmd.Connection = SQLconnect
sqlcmd.CommandType = CommandType.Text
sql = "Insert into schueler (name, vorname, klassenr, klassentyp, bemerkung, aktiv, erstellt_am, mutiert_am, mutierer) values('*** Neuer Schüler',''," + klassenr.ToString + "," + klassentyp.ToString + ",'',1,getdate(),getdate(),1)"
sqlcmd.CommandText = sql
sqlcmd.ExecuteNonQuery()
sqlcmd.Dispose()
SQLconnect.Close()
Return Get_Last_Schueler()
Catch ex As Exception
Return -1
End Try
End Function
Public Function Get_Last_Schueler() As Integer
Try
Dim SQLconnect As New SqlConnection()
Dim ds As New DataSet
Dim sql As String = ""
ds.Tables.Clear()
SQLconnect.ConnectionString = Me.Connectionstring
SQLconnect.Open()
Dim da As New SqlDataAdapter("", SQLconnect)
Dim sqlcmd As New SqlCommand
sqlcmd.Connection = SQLconnect
sqlcmd.CommandType = CommandType.Text
sql = "SELECT top 1 SchuelerNr "
sql = sql + "FROM Schueler "
sql = sql + "ORDER BY Schuelernr desc"
da.SelectCommand.CommandText = sql
da.Fill(ds, "Daten")
sqlcmd.Dispose()
SQLconnect.Close()
Return ds.Tables(0).Rows(0).Item(0)
Catch ex As Exception
Return Nothing
End Try
End Function
Public Function Get_Schueler_By_Schueler() As DataTable
Try
Dim SQLconnect As New SqlConnection()
Dim ds As New DataSet
Dim sql As String = ""
ds.Tables.Clear()
SQLconnect.ConnectionString = Me.Connectionstring
SQLconnect.Open()
Dim da As New SqlDataAdapter("", SQLconnect)
Dim sqlcmd As New SqlCommand
sqlcmd.Connection = SQLconnect
sqlcmd.CommandType = CommandType.Text
sql = "SELECT Schueler.SchuelerNr, Schueler.KlasseNr, Schueler.Name, Schueler.Vorname, "
sql = sql + "Schueler.Bemerkung, Schueler.Aktiv, Schueler.Erstellt_am, Schueler.Mutiert_am, Schueler.Mutierer "
sql = sql + "FROM Schueler "
sql = sql + "ORDER BY Schueler.Name, Schueler.Vorname"
da.SelectCommand.CommandText = sql
da.Fill(ds, "Daten")
sqlcmd.Dispose()
SQLconnect.Close()
Return ds.Tables(0)
Catch ex As Exception
Return Nothing
End Try
End Function
Public Function Get_Last_Schulerberuf_Priority_By_Schuler(ByVal Schulernrnr As Integer) As Integer
Try
Dim SQLconnect As New SqlConnection()
Dim ds As New DataSet
Dim sql As String = ""
ds.Tables.Clear()
SQLconnect.ConnectionString = Me.Connectionstring
SQLconnect.Open()
Dim da As New SqlDataAdapter("", SQLconnect)
Dim sqlcmd As New SqlCommand
sqlcmd.Connection = SQLconnect
sqlcmd.CommandType = CommandType.Text
sql = "SELECT top 1 prioritaet from schuelerberuf where aktiv=1 and schuelernr=" + Schulernrnr.ToString + " order by prioritaet desc"
da.SelectCommand.CommandText = sql
da.Fill(ds, "Daten")
sqlcmd.Dispose()
SQLconnect.Close()
Try
Return ds.Tables(0).Rows(0).Item(0) + 1
Catch ex As Exception
Return 1
End Try
ds.Dispose()
Catch ex As Exception
Return 1
End Try
End Function
Public Function Get_Schueler_By_Schuelernr(ByVal nr As Integer) As DataTable
Try
Dim SQLconnect As New SqlConnection()
Dim ds As New DataSet
Dim sql As String = ""
ds.Tables.Clear()
SQLconnect.ConnectionString = Me.Connectionstring
SQLconnect.Open()
Dim da As New SqlDataAdapter("", SQLconnect)
Dim sqlcmd As New SqlCommand
sqlcmd.Connection = SQLconnect
sqlcmd.CommandType = CommandType.Text
sql = "SELECT SchuelerNr, KlasseNr, Name, Vorname, "
sql = sql + "Bemerkung, Aktiv, Erstellt_am, Mutiert_am, Mutierer "
sql = sql + "FROM Schueler "
sql = sql + "where schuelernr=" & nr.ToString
da.SelectCommand.CommandText = sql
da.Fill(ds, "Daten")
sqlcmd.Dispose()
SQLconnect.Close()
Return ds.Tables(0)
Catch ex As Exception
Return Nothing
End Try
End Function
Public Function Get_Schuelerberuf(ByVal Schuelernr As Integer) As DataTable
Try
Dim SQLconnect As New SqlConnection()
Dim ds As New DataSet
Dim sql As String = ""
ds.Tables.Clear()
SQLconnect.ConnectionString = Me.Connectionstring
SQLconnect.Open()
Dim da As New SqlDataAdapter("", SQLconnect)
Dim sqlcmd As New SqlCommand
sqlcmd.Connection = SQLconnect
sqlcmd.CommandType = CommandType.Text
sql = "SELECT SchuelerBeruf.SchuelerBerufNr, SchuelerBeruf.SchuelerNr, SchuelerBeruf.BerufNr, SchuelerBeruf.Bemerkung, SchuelerBeruf.Aktiv, SchuelerBeruf.Erstellt_am, "
sql = sql + "SchuelerBeruf.Mutiert_am, SchuelerBeruf.Mutierer, SchuelerBeruf.Prioritaet, Beruf.Bezeichnung AS Beruf FROM SchuelerBeruf INNER JOIN "
sql = sql + "Beruf ON SchuelerBeruf.BerufNr = Beruf.Berufnr WHERE SchuelerBeruf.SchuelerNr = " + Schuelernr.ToString
da.SelectCommand.CommandText = sql
da.Fill(ds, "Daten")
sqlcmd.Dispose()
SQLconnect.Close()
Return ds.Tables(0)
Catch ex As Exception
Return Nothing
End Try
End Function
Public Function Verify_Schueler(ByVal schuelernr As Integer) As String
Dim sqlconnect As New SqlConnection
Dim ds As New DataSet
ds.Tables.Clear()
sqlconnect.ConnectionString = Me.Connectionstring
sqlconnect.Open()
Dim da As New SqlDataAdapter("", sqlconnect)
Dim sqlcmd As New SqlCommand
sqlcmd.Connection = sqlconnect
sqlcmd.CommandType = CommandType.StoredProcedure
sqlcmd.CommandText = "verify_schueler"
sqlcmd.Parameters.Add("@schuelernr", SqlDbType.Int)
sqlcmd.Parameters(0).Value = schuelernr
da.SelectCommand = sqlcmd
da.Fill(ds, "Daten")
Return ds.Tables(0).Rows(0).Item(0)
End Function
#End Region
#Region "User"
Public Function Insert_Web_User(ByVal Username As String, password As String, usertype As Integer, firmanr As Integer, lehrernr As Integer) As Integer
Try
Dim SQLconnect As New SqlConnection()
Dim sql As String = ""
SQLconnect.ConnectionString = Me.Connectionstring
SQLconnect.Open()
Dim sqlcmd As New SqlCommand
sqlcmd.Connection = SQLconnect
sqlcmd.CommandType = CommandType.Text
sql = "Insert into web_user (username, passwort, usertype, provisorisch, firmanr, lehrernr, erstellt_am, mutiert_am, aktiv, verifystring) values ("
sql = sql + "'" + Username + "',"
sql = sql + "'" + password + "',"
sql = sql + usertype.ToString + ","
sql = sql + "1,"
sql = sql + firmanr.ToString + ","
sql = sql + lehrernr.ToString + ","
sql = sql + "'" + Now + "',"
sql = sql + "'" + Now + "',"
sql = sql + "1" + ",'')"
sqlcmd.CommandText = sql
sqlcmd.ExecuteNonQuery()
sqlcmd.Dispose()
SQLconnect.Close()
Return True
Catch ex As Exception
Return False
End Try
End Function
Public Function Check_User(ByVal Userid As String, ByVal UserPassword As String) As Integer
Dim SQLconnect As New SqlConnection()
Dim ds As New DataSet
ds.Tables.Clear()
SQLconnect.ConnectionString = Me.Connectionstring
SQLconnect.Open()
Dim da As New SqlDataAdapter("", SQLconnect)
Dim sqlcmd As New SqlCommand
sqlcmd.Connection = SQLconnect
sqlcmd.CommandType = CommandType.Text
sqlcmd.CommandText = "Select eintragnr from web_user where provisorisch=0 and aktiv=1 and username='" + Userid + "' and passwort='" + UserPassword + "'"
da.SelectCommand = sqlcmd
da.Fill(ds, "Daten")
Dim keyvalue As Integer
If ds.Tables(0).Rows.Count = 0 Then
keyvalue = -1
Else
keyvalue = ds.Tables(0).Rows(0).Item(0)
End If
sqlcmd.Dispose()
SQLconnect.Close()
ds.Dispose()
Return keyvalue
End Function
Public Function User_Activation(ByVal key As String) As Boolean
Dim SQLconnect As New SqlConnection()
Dim ds As New DataSet
ds.Tables.Clear()
SQLconnect.ConnectionString = Me.Connectionstring
SQLconnect.Open()
Dim da As New SqlDataAdapter("", SQLconnect)
Dim sqlcmd As New SqlCommand
sqlcmd.Connection = SQLconnect
sqlcmd.CommandType = CommandType.Text
sqlcmd.CommandText = "Select * from web_user where verifystring='" + key + "'"
da.SelectCommand = sqlcmd
da.Fill(ds, "Daten")
Dim keyvalue As Integer
If ds.Tables(0).Rows.Count = 0 Then
Return False
End If
If ds.Tables(0).Rows(0).Item("Provisorisch") = False Then
Return False
End If
Me.UpdateTable("web_user", "provisorisch", "0", False, "Eintragnr", ds.Tables(0).Rows(0).Item(0))
Return True
End Function
Public Function Get_UserUsertype(ByVal Eintragnr As Integer) As DataTable
Dim SQLconnect As New SqlConnection()
Dim ds As New DataSet
ds.Tables.Clear()
SQLconnect.ConnectionString = Me.Connectionstring
SQLconnect.Open()
Dim da As New SqlDataAdapter("", SQLconnect)
Dim sqlcmd As New SqlCommand
sqlcmd.Connection = SQLconnect
sqlcmd.CommandType = CommandType.Text
sqlcmd.CommandText = "Select Firmanr, lehrernr, usertype from web_user where eintragnr = " + Eintragnr.ToString
da.SelectCommand = sqlcmd
da.Fill(ds, "Daten")
sqlcmd.Dispose()
SQLconnect.Close()
ds.Dispose()
Return ds.Tables(0)
End Function
#End Region
#Region "Generelle_Funktionen"
Public Function UpdateTable(ByVal Tablename As String, ByVal Fieldname As String, ByVal fieldvalue As String, ByVal stringvalue As Boolean, ByVal KeyField As String, ByVal KeyValue As Integer) As Boolean
Try
Dim SQLconnect As New SqlConnection()
Dim sql As String = ""
SQLconnect.ConnectionString = Me.Connectionstring
SQLconnect.Open()
Dim sqlcmd As New SqlCommand
sqlcmd.Connection = SQLconnect
sqlcmd.CommandType = CommandType.Text
sql = "Update " + Tablename + " set " + Fieldname + "="
If stringvalue = True Then
sql = sql + "'" + fieldvalue + "'"
Else
sql = sql + fieldvalue
End If
sql = sql + " where " + KeyField + " = " + KeyValue.ToString
sqlcmd.CommandText = sql
sqlcmd.ExecuteNonQuery()
sqlcmd.Dispose()
SQLconnect.Close()
Return True
Catch ex As Exception
Return False
End Try
End Function
#End Region
Public Function ConvertDate(ByVal indate As DateTime) As String
Return Microsoft.VisualBasic.Format(indate, "yyyy-MM-dd HH:MM:SS")
End Function
#Region "Diverse_Stammdaten"
Public Function Insert_new_record(ByVal Tablename As String, ByVal Keyfield As String) As Integer
Dim newkey As Integer = Me.Get_LastKey(Tablename, Keyfield)
Try
Dim SQLconnect As New SqlConnection()
Dim sql As String = ""
SQLconnect.ConnectionString = Me.Connectionstring
SQLconnect.Open()
Dim sqlcmd As New SqlCommand
sqlcmd.Connection = SQLconnect
sqlcmd.CommandType = CommandType.Text
sql = "Insert " + Tablename + "(" + Keyfield + ",erstellt_am,mutiert_am, mutierer, aktiv) values(" + newkey.ToString + ",'" + Now + "','" + Now + "',1,1)"
sqlcmd.CommandText = sql
sqlcmd.ExecuteNonQuery()
sqlcmd.Dispose()
SQLconnect.Close()
Return newkey
Catch ex As Exception
Return False
End Try
End Function
#End Region
#Region "Zuteilung"
Public Function Get_Reservierte_Plaetze(ByVal Berufnr As Integer) As DataTable
Dim sql As String
sql = "SELECT Schueler.SchuelerNr,Schueler.Name +' '+ Schueler.Vorname AS Schueler_Name, Beruf.Bezeichnung, SchuelerBeruf.Prioritaet, Zeiten.Bezeichnung as Zeit "
sql = sql + " FROM Zuteilung INNER JOIN SchuelerBeruf ON (Zuteilung.SchuelerBerufNr = SchuelerBeruf.SchuelerBerufNr) INNER JOIN Schueler ON (SchuelerBeruf.SchuelerNr = Schueler.SchuelerNr) "
sql = sql + " INNER JOIN Zeiten ON (Zuteilung.Zeitnr = Zeiten.ZeitNr) INNER JOIN Beruf ON (SchuelerBeruf.BerufNr = Beruf.Berufnr) "
sql = sql + "WHERE zuteilung.aktiv=1 and schuelerberuf.aktiv=1 and schuelerberuf.berufnr = " + Berufnr.ToString
Dim ds As New DataSet
Dim dtAngebot As New DataTable
Dim SQLconnect As New SqlConnection()
SQLconnect.ConnectionString = Me.Connectionstring
SQLconnect.Open()
Dim sqlcmd As New SqlCommand
Dim da As New SqlDataAdapter("", SQLconnect)
sqlcmd.Connection = SQLconnect
Try
ds.Tables.Clear()
sqlcmd.CommandType = CommandType.Text
sqlcmd.CommandText = sql
da.SelectCommand = sqlcmd
da.Fill(ds, "Reserviert ")
Catch ex As Exception
MsgBox(ex.Message)
End Try
Return ds.Tables(0)
End Function
Public Function Get_Freie_Plätze(ByVal Berufnr As Integer) As DataTable
'Angebot auslesen
Dim ds As New DataSet
Dim dtAngebot As New DataTable
Dim sql As String = "Select * from FirmaBeruf where aktiv=1 and Berufnr=" + Berufnr.ToString
Dim SQLconnect As New SqlConnection()
SQLconnect.ConnectionString = Me.Connectionstring
SQLconnect.Open()
Dim sqlcmd As New SqlCommand
Dim da As New SqlDataAdapter("", SQLconnect)
sqlcmd.Connection = SQLconnect
Try
ds.Tables.Clear()
sqlcmd.CommandType = CommandType.Text
sqlcmd.CommandText = sql
da.SelectCommand = sqlcmd
da.Fill(ds, "Angebot")
Catch ex As Exception
MsgBox(ex.Message)
End Try
dtAngebot = ds.Tables(0)
Dim dtZugeteilt As New DataTable
sql = "SELECT Zuteilung.*, FirmaBeruf.FirmaBerufnr FROM zuteilung INNER JOIN firmaberuf ON (zuteilung.firmaberufnr = firmaberuf.FirmaBerufNr) WHERE zuteilung.aktiv = 1 AND firmaberuf.berufnr=" + Berufnr.ToString
Try
ds.Tables.Clear()
sqlcmd.CommandType = CommandType.Text
sqlcmd.CommandText = sql
da.SelectCommand = sqlcmd
da.Fill(ds, "Zugeteilt")
Catch ex As Exception
MsgBox(ex.Message)
End Try
dtZugeteilt = ds.Tables(0)
For Each r As DataRow In dtZugeteilt.Rows
For Each rr As DataRow In dtAngebot.Rows
If r.Item("FirmaBerufNr") = rr.Item("Firmaberufnr") Then
If r.Item("ZeitNr") = rr.Item("Zeitnr") Then
If r.Item("Ansprechpartnernr") = rr.Item("Ansprechpartnernr") Then rr.Item("Anzahl") = rr.Item("Anzahl") - 1
End If
End If
Next
Next
For Each r As DataRow In dtAngebot.Rows
If r.Item("Anzahl") = 0 Then r.Delete()
Next
dtAngebot.AcceptChanges()
Dim dtFreiePlätze As New DataTable
Dim first As Boolean = True
For Each r As DataRow In dtAngebot.Rows
sql = "SELECT Firma.FirmaNr,Firma.NameZ1,FirmaBeruf.ZeitNr, firmaberuf.firmaberufnr,Zeiten.Bezeichnung, 0 as Anzahl, Ansprechpartner.AnsprechpartnerNr, Ansprechpartner.Name +' ' + Ansprechpartner.Vorname As Ansprechpartner FROM Firma INNER JOIN FirmaBeruf ON (Firma.FirmaNr = FirmaBeruf.FirmaNr)"
sql = sql + " INNER JOIN Zeiten ON (FirmaBeruf.ZeitNr = Zeiten.ZeitNr) INNER JOIN Ansprechpartner ON (Firma.FirmaNr = Ansprechpartner.FirmaNr) where firmaberuf.firmaberufnr=" + r.Item("FirmaBerufnr").ToString + " and ansprechpartner.ansprechpartnernr=" + r.Item("Ansprechpartnernr").ToString
Try
ds.Tables.Clear()
sqlcmd.CommandType = CommandType.Text
sqlcmd.CommandText = sql
da.SelectCommand = sqlcmd
da.Fill(ds, "Angebot")
Catch ex As Exception
MsgBox(ex.Message)
End Try
If first Then
dtFreiePlätze = ds.Tables(0).Copy
first = False
Else
For Each r1 As DataRow In ds.Tables(0).Rows
Dim datar As DataRow
datar = dtFreiePlätze.NewRow
For Each s As DataColumn In dtFreiePlätze.Columns
datar.Item(s.ColumnName) = r1.Item(s.ColumnName)
Next
dtFreiePlätze.Rows.Add(datar)
Next
End If
For Each r2 As DataRow In dtFreiePlätze.Rows
If r2.Item("FirmaBerufnr") = r.Item("FirmaBerufnr") Then
r2.Item("Anzahl") = r.Item("Anzahl")
End If
Next
Next
SQLconnect.Close()
Return dtFreiePlätze
End Function
Public Function Insert_Zuteilung(ByVal Schuelerberufnr As Integer, ByVal Firmaberufnr As Integer, ByVal usernr As Integer) As Boolean
Try
Dim SQLconnect As New SqlConnection()
Dim sql As String = ""
SQLconnect.ConnectionString = Me.Connectionstring
SQLconnect.Open()
Dim sqlcmd As New SqlCommand
sqlcmd.Connection = SQLconnect
sqlcmd.CommandType = CommandType.Text
sql = "insert zuteilung (firmaberufnr, schuelerberufnr, mutierer) values(" + Firmaberufnr.ToString + "," + Schuelerberufnr.ToString + "," + usernr.ToString + ")"
sqlcmd.CommandText = sql
sqlcmd.ExecuteNonQuery()
sqlcmd.Dispose()
SQLconnect.Close()
Return True
Catch ex As Exception
Return False
End Try
End Function
Public Function Zuteilen(ByVal typ As Integer) As String
Dim sqlconnect As New SqlConnection
Dim ds As New DataSet
ds.Tables.Clear()
sqlconnect.ConnectionString = Me.Connectionstring
sqlconnect.Open()
Dim da As New SqlDataAdapter("", sqlconnect)
Dim sqlcmd As New SqlCommand
sqlcmd.Connection = sqlconnect
sqlcmd.CommandType = CommandType.StoredProcedure
sqlcmd.CommandText = "dbo.zuteilung_durchfuehren"
sqlcmd.Parameters.Add("@typ", SqlDbType.Int)
sqlcmd.Parameters(0).Value = typ
sqlcmd.ExecuteNonQuery()
Return ""
End Function
#End Region
#Region "Optionen"
Public Function Get_Option(ByVal onr As Integer) As String
Try
Dim sqlconnect As New SqlConnection
Dim ds As New DataSet
ds.Tables.Clear()
sqlconnect.ConnectionString = Me.Connectionstring
sqlconnect.Open()
Dim da As New SqlDataAdapter("", sqlconnect)
Dim sqlcmd As New SqlCommand
sqlcmd.Connection = sqlconnect
sqlcmd.CommandType = CommandType.Text
sqlcmd.CommandText = "Select * from optionen where optionnr=" + onr.ToString
da.SelectCommand = sqlcmd
da.Fill(ds, "Daten")
Return ds.Tables(0).Rows(0).Item("Inhalt")
Catch ex As Exception
Return ""
'MsgBox(ex.Message)
End Try
End Function
#End Region
#Region "RTF"
Public Function Insert_Dokument(ByVal bezeichnung As String) As Integer
Try
Dim SQLconnect As New SqlConnection()
Dim sql As String = ""
SQLconnect.ConnectionString = Me.Connectionstring
SQLconnect.Open()
Dim sqlcmd As New SqlCommand
sqlcmd.Connection = SQLconnect
sqlcmd.CommandType = CommandType.Text
sql = "Insert into web_dokumenttexte (Bezeichnung, beschreibung, aktiv,erstellt_am,mutiert_am, mutierer, rtf) values('" + bezeichnung + "','',1,getdate(),getdate(),1,'')"
sqlcmd.CommandText = sql
sqlcmd.ExecuteNonQuery()
sqlcmd.Dispose()
SQLconnect.Close()
Return Get_Last_Dokument()
Catch ex As Exception
Return -1
End Try
End Function
Public Function Get_Last_Dokument() As Integer
Try
Dim SQLconnect As New SqlConnection()
Dim ds As New DataSet
Dim sql As String = ""
ds.Tables.Clear()
SQLconnect.ConnectionString = Me.Connectionstring
SQLconnect.Open()
Dim da As New SqlDataAdapter("", SQLconnect)
Dim sqlcmd As New SqlCommand
sqlcmd.Connection = SQLconnect
sqlcmd.CommandType = CommandType.Text
sql = "SELECT top 1 eintragnr "
sql = sql + "FROM web_dokumenttexte "
sql = sql + "ORDER BY eintragnr desc"
da.SelectCommand.CommandText = sql
da.Fill(ds, "Daten")
sqlcmd.Dispose()
SQLconnect.Close()
Return ds.Tables(0).Rows(0).Item(0)
Catch ex As Exception
Return Nothing
End Try
End Function
Public Function Save_rtf(ByVal NrEintrag As Integer, ByVal Filename As String, irtf As String) As String
Dim rtf As String
If irtf = "" Then rtf = GetFileContents(Filename) Else rtf = irtf
Dim Connection As New SqlConnection()
Dim DA As New SqlDataAdapter("select * from Web_Dokumenttexte where EintragNr = " & Str(NrEintrag), 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 = Me.Connectionstring
Connection.Open()
DA.Fill(ds, "RichFile")
Dim myRow As DataRow
If ds.Tables(0).Rows.Count = 0 Then
MsgBox("Datei kann nicht gespeichert werden.", MsgBoxStyle.Critical)
Exit Function
Else
myRow = ds.Tables(0).Rows(0)
myRow.Item(3) = mydata
myRow.Item(8) = GetFileContents(Filename)
myRow.Item(6) = Now
'myRow.Item(3) = mydata
'myRow.Item(5) = Now
'myRow.Item(6) = 1
DA.Update(ds, "RichFile")
End If
Catch ex As Exception
MsgBox(ex.Message)
Return False
End Try
fs = Nothing
cb = Nothing
ds = Nothing
DA = Nothing
Connection.Close()
Connection = Nothing
Return ""
End Function
Public Function Get_rtf(ByVal NrEintrag As Integer, ByVal filename As String) As String
Dim Connection As New SqlConnection()
Dim DA As New SqlDataAdapter("select * from Web_Dokumenttexte where EintragNr = " & Str(NrEintrag), Connection)
Dim cb As SqlCommandBuilder = New SqlCommandBuilder(DA)
Dim ds As New DataSet()
Try
Connection.ConnectionString = Me.Connectionstring
Connection.Open()
DA.Fill(ds, "RichFile")
Dim myRow As DataRow
If ds.Tables(0).Rows.Count = 0 Then
Return ("Datei kann nicht gelesen werden.")
Exit Function
Else
myRow = ds.Tables(0).Rows(0)
Return myRow.Item(8)
End If
Catch ex As Exception
Return MsgBox(ex.Message)
End Try
cb = Nothing
ds = Nothing
DA = Nothing
Connection.Close()
Connection = Nothing
End Function
Public Function GetFileContents(ByVal FullPath As String, _
Optional ByRef ErrInfo As String = "") As String
Dim strContents As String
Dim objReader As StreamReader
Try
objReader = New StreamReader(FullPath)
strContents = objReader.ReadToEnd()
objReader.Close()
Return strContents
Catch Ex As Exception
ErrInfo = Ex.Message
End Try
End Function
#End Region
#Region "Reporting*"
Public Function Get_SQL_Statement(ByVal Reportnr As Integer) As String
Try
Dim sqlconnect As New SqlConnection
Dim ds As New DataSet
ds.Tables.Clear()
sqlconnect.ConnectionString = Me.Connectionstring
sqlconnect.Open()
Dim da As New SqlDataAdapter("", sqlconnect)
Dim sqlcmd As New SqlCommand
sqlcmd.Connection = sqlconnect
sqlcmd.CommandType = CommandType.Text
sqlcmd.CommandText = "Select * from Report where Reportnr=" + Reportnr.ToString
da.SelectCommand = sqlcmd
da.Fill(ds, "Daten")
Return ds.Tables(0).Rows(0).Item("SQL_Statement")
Catch ex As Exception
Return ""
'MsgBox(ex.Message)
End Try
End Function
Public Function Get_SQLAbfrage_Statement(ByVal SQLNr As Integer) As String
Try
Dim sqlconnect As New SqlConnection
Dim ds As New DataSet
ds.Tables.Clear()
sqlconnect.ConnectionString = Me.Connectionstring
sqlconnect.Open()
Dim da As New SqlDataAdapter("", sqlconnect)
Dim sqlcmd As New SqlCommand
sqlcmd.Connection = sqlconnect
sqlcmd.CommandType = CommandType.Text
sqlcmd.CommandText = "Select * from SQLAbfragen where sqlnr=" + SQLNr.ToString
da.SelectCommand = sqlcmd
da.Fill(ds, "Daten")
Return ds.Tables(0).Rows(0).Item("SQLScript")
Catch ex As Exception
Return ""
'MsgBox(ex.Message)
End Try
End Function
Public Function Get_RptDatei(ByVal Auswertungnr As String, ByVal pfad As String, Optional ByVal fname As String = "") As String
Dim connection As New SqlConnection()
Dim DA As New SqlDataAdapter("select * from Report where Reportnr = " & Str(Auswertungnr), connection)
Dim CB As SqlCommandBuilder = New SqlCommandBuilder(DA)
Dim ds As New DataSet()
Dim Filename As String = ""
Try
connection.ConnectionString = Me.Connectionstring
connection.Open()
DA.Fill(ds, "RptFile")
Dim myRow As DataRow
myRow = ds.Tables(0).Rows(0)
Dim MyData() As Byte
Filename = pfad + "\" + myRow.Item(1).ToString + ".frx"
Return Filename
Exit Try
If fname <> "" Then
Filename = fname
End If
MyData = myRow.Item(2)
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
Return ""
End Try
CB = Nothing
ds = Nothing
DA = Nothing
connection.Close()
connection = Nothing
Return Filename
End Function
#End Region
#Region "Lehrer"
Public Function Insert_Lehrer(ByRef keyvalue As Integer) As Boolean
Try
Dim SQLconnect As New SqlConnection()
Dim sql As String = ""
SQLconnect.ConnectionString = Me.Connectionstring
SQLconnect.Open()
Dim sqlcmd As New SqlCommand
sqlcmd.Connection = SQLconnect
sqlcmd.CommandType = CommandType.Text
sql = "Insert into web_lehrer (aktiv, erstellt_am, mutiert_am, mutierer) values(1,getdate(),getdate(),1)"
sqlcmd.CommandText = sql
sqlcmd.ExecuteNonQuery()
sqlcmd.Dispose()
SQLconnect.Close()
Dim key As Integer = Me.Get_LastKey("web_lehrer", "Lehrernr")
key = key - 1
keyvalue = key
Return True
Catch ex As Exception
Return False
End Try
End Function
#End Region
#Region "WebStatistik"
Public Function Statistikdaten_Speichern(ByVal Jahr As String, ByVal Bezeichnung As String, ByVal userid As Integer) As String
Dim sqlconnect As New SqlConnection
Dim ds As New DataSet
ds.Tables.Clear()
sqlconnect.ConnectionString = Me.Connectionstring
sqlconnect.Open()
Dim da As New SqlDataAdapter("", sqlconnect)
Dim sqlcmd As New SqlCommand
sqlcmd.Connection = sqlconnect
sqlcmd.CommandType = CommandType.StoredProcedure
sqlcmd.CommandText = "dbo.SP_Web_Statistik"
sqlcmd.Parameters.Add("@jahr", SqlDbType.Int)
sqlcmd.Parameters.Add("@Beschreibung", SqlDbType.VarChar)
sqlcmd.Parameters.Add("@Mutierer", SqlDbType.Int)
sqlcmd.Parameters(0).Value = Jahr
sqlcmd.Parameters(1).Value = Bezeichnung
sqlcmd.Parameters(2).Value = userid
sqlcmd.ExecuteNonQuery()
Return ""
End Function
Public Function Get_Webstatistik_Data() As DataTable
Dim ds As New DataSet
Dim dt As New DataTable
Dim sql As String = "Select Webstatistiknr,beschreibung from webstatistik where aktiv=1 order by erstellt_am desc"
Dim SQLconnect As New SqlConnection()
SQLconnect.ConnectionString = Me.Connectionstring
SQLconnect.Open()
Dim sqlcmd As New SqlCommand
Dim da As New SqlDataAdapter("", SQLconnect)
sqlcmd.Connection = SQLconnect
Try
ds.Tables.Clear()
sqlcmd.CommandType = CommandType.Text
sqlcmd.CommandText = sql
da.SelectCommand = sqlcmd
da.Fill(ds, "Daten")
Catch ex As Exception
MsgBox(ex.Message)
End Try
Return ds.Tables(0)
End Function
Public Function Delete_Webstatistik(WebStatNr As Integer) As DataTable
Dim sqlconnect As New SqlConnection
Dim ds As New DataSet
ds.Tables.Clear()
sqlconnect.ConnectionString = Me.Connectionstring
sqlconnect.Open()
Dim da As New SqlDataAdapter("", sqlconnect)
Dim sqlcmd As New SqlCommand
sqlcmd.Connection = sqlconnect
sqlcmd.CommandType = CommandType.Text
sqlcmd.CommandText = "update webstatistik set aktiv=0 where webstatistiknr=" + WebStatNr.ToString
sqlcmd.ExecuteNonQuery()
End Function
#End Region
#Region "Delete_Data"
Public Sub Delete_Firmen()
Exec_Query("Truncate table dbo.firma")
Exec_Query("Delete from web_user where usertype=2")
Delete_Ansprechpartner()
Delete_Angebot()
End Sub
Public Sub Delete_Ansprechpartner()
Exec_Query("Truncate table dbo.ansprechpartner")
delete_angebot()
End Sub
Public Sub Delete_Angebot()
Exec_Query("Truncate Table dbo.firmaberuf")
End Sub
Public Sub Delete_Lehrer()
Exec_Query("Truncate Table dbo.web_lehrer")
Exec_Query("Delete from web_user where usertype=3")
End Sub
Public Sub Delete_Klasse()
Exec_Query("Truncate Table dbo.klasse")
End Sub
Public Sub Delete_Schueler()
Exec_Query("Truncate Table dbo.Schueler")
Exec_Query("Truncate Table dbo.schuelerberuf")
End Sub
Public Sub Delete_Zuteilung()
Exec_Query("Truncate Table dbo.Zuteilung")
End Sub
Public Sub Exec_Query(ByVal sql As String)
Dim sqlconnect As New SqlConnection
Dim ds As New DataSet
ds.Tables.Clear()
sqlconnect.ConnectionString = Me.Connectionstring
sqlconnect.Open()
Dim da As New SqlDataAdapter("", sqlconnect)
Dim sqlcmd As New SqlCommand
sqlcmd.Connection = sqlconnect
sqlcmd.CommandType = CommandType.Text
sqlcmd.CommandText = sql
sqlcmd.ExecuteNonQuery()
End Sub
#End Region
End Class