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.
442 lines
18 KiB
442 lines
18 KiB
Imports System.Web.UI.WebControls
|
|
Imports System.Web.Configuration
|
|
Imports Telerik.Web.UI
|
|
Imports System.Data.SqlClient
|
|
Imports System.Configuration
|
|
Imports Telerik.Web.UI.RadWebControl
|
|
|
|
|
|
Public Class Schueler
|
|
|
|
Inherits System.Web.UI.Page
|
|
|
|
Dim schuelerstatus1 As Integer = 0
|
|
|
|
Private Sub Schueler_InitComplete(sender As Object, e As System.EventArgs) Handles Me.InitComplete
|
|
|
|
End Sub
|
|
|
|
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
|
|
If Not Page.IsPostBack Then
|
|
Me.chkAlleSchuler.Checked = False
|
|
Me.chkAlleSchuler.Visible = False
|
|
End If
|
|
If Session.Item("Admin") = "True" Then
|
|
Load_Admin()
|
|
Else
|
|
'Session("Lehrer") = 80
|
|
End If
|
|
|
|
Me.lblklassestatus.Text = ""
|
|
|
|
Me.Form.DefaultButton = Me.btnInsertBeruf.UniqueID
|
|
RadWindowManager1.Windows.Clear()
|
|
If Me.RadListBox1.Items.Count < 1 Then
|
|
Me.txtname.Enabled = False
|
|
Me.txtvorname.Enabled = False
|
|
Me.txtBemerkung.Enabled = False
|
|
Me.RadButton3.Enabled = False
|
|
Me.RadButton1.Enabled = False
|
|
Me.Panel3.Enabled = False
|
|
Me.RadGridSchuelerberuf.Enabled = False
|
|
End If
|
|
End Sub
|
|
|
|
Protected Sub Load_Admin()
|
|
Me.SqlDataSource1.SelectCommand = "SELECT [KlasseNr], [Bezeichnung] FROM [Klasse] WHERE aktiv=1"
|
|
Me.chkAlleSchuler.Visible = True
|
|
End Sub
|
|
Protected Sub RadComboBox1_SelectedIndexChanged(sender As Object, e As Telerik.Web.UI.RadComboBoxSelectedIndexChangedEventArgs) Handles RadComboBox1.SelectedIndexChanged
|
|
Me.RadListBox1.DataBind()
|
|
Try
|
|
Me.RadListBox1.SelectedIndex = 0
|
|
refresh_data(Me.RadListBox1.SelectedValue)
|
|
Update_Klassen_Status()
|
|
Catch ex As Exception
|
|
Me.txtname.Text = ""
|
|
Me.txtvorname.Text = ""
|
|
Me.txtBemerkung.Text = ""
|
|
Update_Klassen_Status()
|
|
End Try
|
|
End Sub
|
|
|
|
Private Sub refresh_data(ByVal schuelernr As Integer)
|
|
Dim dh As New clsDatahandling
|
|
Dim ds As New DataSet
|
|
|
|
ds = dh.Get_Tabledata("select * from schueler where schuelernr=" + schuelernr.ToString, False, True)
|
|
Me.txtname.Text = ds.Tables(0).Rows(0).Item("name")
|
|
Me.txtvorname.Text = ds.Tables(0).Rows(0).Item("vorname")
|
|
Me.txtbemerkung.Text = ds.Tables(0).Rows(0).Item("bemerkung").ToString
|
|
Me.chkaktiv.Checked = ds.Tables(0).Rows(0).Item("aktiv") = True
|
|
Me.cbklasse.SelectedValue = ds.Tables(0).Rows(0).Item("Klassenr")
|
|
Me.cbKlassentyp.SelectedValue = ds.Tables(0).Rows(0).Item("klassentyp")
|
|
Me.RadGridSchuelerberuf.DataBind()
|
|
If RadGridSchuelerberuf.MasterTableView.Items.Count > 0 Then Me.cbKlassentyp.Enabled = False Else Me.cbKlassentyp.Enabled = True
|
|
selectentry(schuelernr)
|
|
Me.txtname.Focus()
|
|
Me.txtname.Enabled = True
|
|
Me.txtvorname.Enabled = True
|
|
Me.txtBemerkung.Enabled = True
|
|
Me.RadButton3.Enabled = True
|
|
Me.RadButton1.Enabled = True
|
|
End Sub
|
|
|
|
Protected Sub RadButton1_Click(sender As Object, e As EventArgs) Handles RadButton1.Click
|
|
|
|
If (Trim(Me.txtname.Text) = "" Or Trim(Me.txtvorname.Text) = "") And Me.chkaktiv.Checked = True Then
|
|
Show_Message(1, "Name und Vorname vom Schüler sind zwingend zu erfassen")
|
|
Exit Sub
|
|
End If
|
|
|
|
Dim ds As New DataSet
|
|
Dim dh As New clsDatahandling
|
|
ds = dh.Get_Tabledata("Select * from schuelerberuf where aktiv=1 and schuelernr=" + Me.RadListBox1.SelectedValue, False, True)
|
|
If ds.Tables(0).Rows.Count > 0 Then
|
|
ds.Tables.Clear()
|
|
ds = dh.Get_Tabledata("Select klassentyp from schueler where schuelernr=" + Me.RadListBox1.SelectedValue, False, True)
|
|
If ds.Tables(0).Rows(0).Item(0) <> Me.cbKlassentyp.SelectedValue Then
|
|
Show_Message(1, "Die Stufe kann nicht angepasst werden, sofern Berufe dem Schüler zugeordnet sind.")
|
|
Exit Sub
|
|
End If
|
|
End If
|
|
|
|
Dim s As String = Me.RadListBox1.SelectedItem.Text
|
|
Dim sn = Trim(Me.txtname.Text) + " " + Trim(Me.txtvorname.Text)
|
|
If sn <> s And Trim(s) <> "*** Neuer Schüler" Then
|
|
Show_Message(4, "Der Schülername wurde angepasst. Neuer Schüler erfassen (OK) oder sollen die Daten gespeichert werden (cancel)")
|
|
Else
|
|
save_schueler()
|
|
End If
|
|
Update_Schueler_Status()
|
|
Me.Panel3.Enabled = True
|
|
Me.RadGridSchuelerberuf.Enabled = True
|
|
End Sub
|
|
|
|
Sub save_schueler()
|
|
Dim i As Integer
|
|
i = Me.RadListBox1.SelectedValue
|
|
Dim dh As New clsDatahandling
|
|
dh.UpdateTable("schueler", "Name", Me.txtname.Text, True, "schuelernr", Me.RadListBox1.SelectedValue)
|
|
dh.UpdateTable("schueler", "VorName", Me.txtvorname.Text, True, "schuelernr", Me.RadListBox1.SelectedValue)
|
|
dh.UpdateTable("schueler", "bemerkung", Me.txtBemerkung.Text, True, "schuelernr", Me.RadListBox1.SelectedValue)
|
|
If Me.chkaktiv.Checked = True Then
|
|
dh.UpdateTable("schueler", "Aktiv", 1, False, "schuelernr", Me.RadListBox1.SelectedValue)
|
|
Else
|
|
dh.UpdateTable("schueler", "Aktiv", 0, False, "schuelernr", Me.RadListBox1.SelectedValue)
|
|
End If
|
|
dh.UpdateTable("schueler", "klassenr", Me.cbklasse.SelectedValue, False, "schuelernr", Me.RadListBox1.SelectedValue)
|
|
dh.UpdateTable("schueler", "klassentyp", Me.cbKlassentyp.SelectedValue, False, "schuelernr", Me.RadListBox1.SelectedValue)
|
|
Me.Refresh_RadListBox1()
|
|
'Me.RadListBox1.DataBind()
|
|
Try
|
|
'Me.RadListBox1.SelectedIndex = i
|
|
refresh_data(i)
|
|
Catch ex As Exception
|
|
Try
|
|
Me.RadListBox1.SelectedIndex = 0
|
|
refresh_data(Me.RadListBox1.SelectedValue)
|
|
Catch ex1 As Exception
|
|
End Try
|
|
End Try
|
|
Update_Klassen_Status()
|
|
End Sub
|
|
|
|
Private Sub RadListBox1_ItemDataBound(sender As Object, e As Telerik.Web.UI.RadListBoxItemEventArgs) Handles RadListBox1.ItemDataBound
|
|
If TypeOf e.Item Is RadListBoxItem Then
|
|
|
|
Dim dataItem As RadListBoxItem = TryCast(e.Item, RadListBoxItem)
|
|
Dim dh As New clsDatahandling
|
|
Dim s As String
|
|
|
|
s = dh.Verify_Schueler(dataItem.Value)
|
|
|
|
If s = "Schüler vollständig erfasst." Then
|
|
Else
|
|
dataItem.ForeColor = System.Drawing.Color.Red
|
|
schuelerstatus1 = schuelerstatus1 + 1
|
|
End If
|
|
End If
|
|
End Sub
|
|
|
|
|
|
Private Sub RadListBox1_SelectedIndexChanged(sender As Object, e As System.EventArgs) Handles RadListBox1.SelectedIndexChanged
|
|
refresh_data(Me.RadListBox1.SelectedValue.ToString)
|
|
Update_Klassen_Status()
|
|
Update_Schueler_Status()
|
|
If Me.RadListBox1.Items.Count > 0 Then
|
|
Me.Panel3.Enabled = True
|
|
Me.RadGridSchuelerberuf.Enabled = True
|
|
End If
|
|
End Sub
|
|
|
|
|
|
Protected Sub btnInsertBeruf_Click(sender As Object, e As EventArgs) Handles btnInsertBeruf.Click
|
|
Dim i As Integer
|
|
i = Me.RadListBox1.SelectedValue
|
|
Dim errormessage As String = ""
|
|
errormessage = Validate_Form()
|
|
If errormessage <> "" Then
|
|
Show_Message(1, errormessage)
|
|
Exit Sub
|
|
End If
|
|
|
|
Dim dh As New clsDatahandling
|
|
Try
|
|
If Me.txtBerufnr.Text <> "" Then Me.cbBeruf.SelectedValue = Me.txtBerufnr.Text
|
|
Catch ex As Exception
|
|
'Me.C1Dialog1.Visible = True
|
|
Exit Sub
|
|
End Try
|
|
|
|
Dim ds As New DataSet
|
|
ds = dh.Get_Tabledata("Select * from firmaberuf where aktiv=1 and klassenr>=" + Me.cbKlassentyp.SelectedValue.ToString + " and berufnr=" + Me.cbBeruf.SelectedValue.ToString, False, True)
|
|
If ds.Tables(0).Rows.Count = 0 And dh.Get_Option(25) = "Ja" Then
|
|
Show_Message(1, "Der gewählte Beruf steht für die Schulstufe (" + Me.cbKlassentyp.Text + ") nicht zur Verfügung.")
|
|
Exit Sub
|
|
End If
|
|
|
|
ds.Tables.Clear()
|
|
ds = dh.Get_Tabledata("Select * from schuelerberuf where aktiv=1 and berufnr=" + Me.cbBeruf.SelectedValue.ToString + " and schuelernr=" + Me.RadListBox1.SelectedValue.ToString, False, True)
|
|
If ds.Tables(0).Rows.Count > 0 Then
|
|
Show_Message(1, "Der gewählte Beruf wurde dem Schüler bereits zugeordnet.")
|
|
Exit Sub
|
|
|
|
End If
|
|
|
|
Dim key As Integer = dh.Insert_new_record("Schuelerberuf", "Schuelerberufnr")
|
|
Dim prio As Integer = dh.Get_Last_Schulerberuf_Priority_By_Schuler(Me.RadListBox1.SelectedValue)
|
|
dh.UpdateTable("Schuelerberuf", "Schuelernr", Me.RadListBox1.SelectedValue, False, "Schuelerberufnr", key)
|
|
dh.UpdateTable("Schuelerberuf", "Berufnr", Me.cbBeruf.SelectedValue, False, "Schuelerberufnr", key)
|
|
dh.UpdateTable("Schuelerberuf", "Prioritaet", prio, False, "Schuelerberufnr", key)
|
|
If Me.txtBerufnr.Text <> "" Then
|
|
Me.txtBerufnr.Text = ""
|
|
Me.txtBerufnr.Focus()
|
|
End If
|
|
Me.RadGridSchuelerberuf.DataBind()
|
|
|
|
Update_Klassen_Status()
|
|
Update_Schueler_Status()
|
|
Me.RadListBox1.DataBind()
|
|
Me.RadListBox1.SelectedValue = i
|
|
If RadGridSchuelerberuf.MasterTableView.Items.Count > 0 Then Me.cbKlassentyp.Enabled = False Else Me.cbKlassentyp.Enabled = True
|
|
End Sub
|
|
|
|
Private Function Validate_Form() As String
|
|
Dim s As String = ""
|
|
If Me.RadListBox1.SelectedValue Is System.DBNull.Value Then
|
|
If s <> "" Then s = s + "<br/>"
|
|
s = s + "- Es wurde kein Schüler ausgewählt"
|
|
End If
|
|
If Me.RadListBox1.SelectedValue = "" Then
|
|
If s <> "" Then s = s + "<br/>"
|
|
s = s + "- Es wurde kein Schüler ausgewählt"
|
|
End If
|
|
Try
|
|
If Me.txtBerufnr.Text <> "" Then
|
|
|
|
Me.cbBeruf.SelectedValue = Me.txtBerufnr.Text
|
|
If Me.cbBeruf.SelectedValue <> Me.txtBerufnr.Text Then
|
|
If s <> "" Then s = s + "<br/>"
|
|
s = s + "- Die eingegebene Berufsnummer ist ungültig"
|
|
End If
|
|
|
|
End If
|
|
Catch ex As Exception
|
|
If s <> "" Then s = s + "<br/>"
|
|
s = s + "- Die eingegebene Berufsnummer ist ungültig"
|
|
End Try
|
|
If s <> "" Then s = "Folgende Fehler sind vorhanden:" + "<br/>" + s
|
|
Return s
|
|
End Function
|
|
Sub neuer_schueler()
|
|
Dim dh As New clsDatahandling
|
|
Dim i As Integer
|
|
|
|
i = dh.Insert_Schueler(Me.RadComboBox1.SelectedValue, Me.cbKlassentyp.SelectedValue)
|
|
If i > -1 Then
|
|
Me.RadListBox1.DataBind()
|
|
Me.refresh_data(i)
|
|
End If
|
|
|
|
End Sub
|
|
|
|
Protected Sub RadButton2_Click(sender As Object, e As EventArgs) Handles btnneuerschueler.Click
|
|
neuer_schueler()
|
|
Me.txtname.Enabled = True
|
|
Me.txtvorname.Enabled = True
|
|
Me.txtBemerkung.Enabled = True
|
|
Me.RadButton3.Enabled = True
|
|
Me.RadButton1.Enabled = True
|
|
|
|
Update_Klassen_Status()
|
|
Me.txtname.Focus()
|
|
Me.lblschuelerstatus.Text = ""
|
|
Me.txtname.SelectionOnFocus = SelectionOnFocus.SelectAll
|
|
Me.Panel3.Enabled = False
|
|
Me.RadGridSchuelerberuf.Enabled = False
|
|
End Sub
|
|
|
|
Protected Sub selectentry(ByVal nr As Integer)
|
|
Dim isselected As Boolean = False
|
|
For Each item As RadListBoxItem In Me.RadListBox1.Items
|
|
item.Selected = False
|
|
Next
|
|
For Each item As RadListBoxItem In Me.RadListBox1.Items
|
|
If item.Value = nr Then
|
|
item.Selected = True
|
|
isselected = True
|
|
End If
|
|
Next
|
|
If Not isselected Then Me.RadListBox1.SelectedIndex = 0
|
|
End Sub
|
|
|
|
|
|
|
|
Protected Sub chkAlleSchuler_CheckedChanged(sender As Object, e As EventArgs) Handles chkAlleSchuler.CheckedChanged
|
|
Refresh_RadListBox1()
|
|
End Sub
|
|
|
|
Protected Sub Refresh_RadListBox1()
|
|
If chkAlleSchuler.Checked = True Then
|
|
Me.SqlDataSource2.SelectCommand = "select Schuelernr, name+' '+vorname as Schuelername from schueler where aktiv=1 order by name, vorname"
|
|
Else
|
|
Me.SqlDataSource2.SelectCommand = "select Schuelernr, name+' '+vorname as Schuelername from schueler where aktiv=1 and klassenr=@klassenr order by name, vorname"
|
|
End If
|
|
Me.RadListBox1.DataBind()
|
|
|
|
End Sub
|
|
|
|
|
|
Protected Sub RadButton2_Click2(sender As Object, e As EventArgs) Handles RadButton2.Click
|
|
Response.Redirect("~/lehrer/stammdaten.aspx")
|
|
End Sub
|
|
|
|
Protected Sub Update_Klassen_Status()
|
|
Dim dh As New clsDatahandling
|
|
Me.lblklassestatus.Text = dh.verify_klasse(Me.RadComboBox1.SelectedValue)
|
|
If Me.lblklassestatus.Text = "Klasse komplett erfasst" Then
|
|
Me.lblklassestatus.ForeColor = Drawing.Color.Green
|
|
Else
|
|
Me.lblklassestatus.ForeColor = Drawing.Color.Red
|
|
End If
|
|
End Sub
|
|
|
|
Protected Sub Update_Schueler_Status()
|
|
Dim dh As New clsDatahandling
|
|
Dim ds As New DataSet
|
|
Me.lblschuelerstatus.Text = dh.Verify_Schueler(Me.RadListBox1.SelectedValue)
|
|
If lblschuelerstatus.Text = "Schüler vollständig erfasst." Then
|
|
lblschuelerstatus.ForeColor = Drawing.Color.Green
|
|
Else
|
|
lblschuelerstatus.ForeColor = Drawing.Color.Red
|
|
End If
|
|
End Sub
|
|
Protected Sub RadButton3_Click(sender As Object, e As EventArgs) Handles RadButton3.Click
|
|
Show_Message(3, "Schüler wirklich löschen?")
|
|
End Sub
|
|
|
|
|
|
Protected Sub Show_Message(ByVal type As Integer, ByVal meldung As String)
|
|
Dim image1 As String
|
|
Select Case type
|
|
Case 1
|
|
image1 = WebConfigurationManager.AppSettings("Imagepath") + "Error.png"
|
|
RadWindowManager1.RadAlert(meldung, 330, 100, "Fehler", "alertCallBackFnError", image1)
|
|
Case 2
|
|
image1 = WebConfigurationManager.AppSettings("Imagepath") + "Info1.png"
|
|
RadWindowManager1.RadAlert(meldung, 330, 100, "Fehler", "alertCallBackFnError", image1)
|
|
Case 3
|
|
image1 = WebConfigurationManager.AppSettings("Imagepath") + "Info1.png"
|
|
RadWindowManager1.RadConfirm(meldung, "ConfirmCallBackFn", 330, 100, Nothing, "Schüler löschen?")
|
|
Case 4
|
|
image1 = WebConfigurationManager.AppSettings("Imagepath") + "Info1.png"
|
|
RadWindowManager1.RadConfirm(meldung, "ConfirmCallBackFn1", 330, 100, Nothing, "Schülerdaten?")
|
|
|
|
End Select
|
|
|
|
End Sub
|
|
|
|
Private Sub RadGridSchuelerberuf_DeleteCommand(sender As Object, e As Telerik.Web.UI.GridCommandEventArgs) Handles RadGridSchuelerberuf.DeleteCommand
|
|
Update_Schueler_Status()
|
|
If RadGridSchuelerberuf.MasterTableView.Items.Count > 0 Then Me.cbKlassentyp.Enabled = False Else Me.cbKlassentyp.Enabled = True
|
|
|
|
End Sub
|
|
|
|
Private Sub RadGridSchuelerberuf_ItemUpdated(sender As Object, e As Telerik.Web.UI.GridUpdatedEventArgs) Handles RadGridSchuelerberuf.ItemUpdated
|
|
Update_Schueler_Status()
|
|
If RadGridSchuelerberuf.MasterTableView.Items.Count > 0 Then Me.cbKlassentyp.Enabled = False Else Me.cbKlassentyp.Enabled = True
|
|
|
|
End Sub
|
|
|
|
Private Sub RadGridSchuelerberuf_UpdateCommand(sender As Object, e As Telerik.Web.UI.GridCommandEventArgs) Handles RadGridSchuelerberuf.UpdateCommand
|
|
Update_Schueler_Status()
|
|
If RadGridSchuelerberuf.MasterTableView.Items.Count > 0 Then Me.cbKlassentyp.Enabled = False Else Me.cbKlassentyp.Enabled = True
|
|
|
|
End Sub
|
|
|
|
Protected Sub RadButton4_Click(sender As Object, e As EventArgs) Handles RadButton4.Click
|
|
Response.Redirect("~/lehrer/lehrerreport.aspx")
|
|
End Sub
|
|
|
|
Private Sub RadAjaxManager1_AjaxRequest(sender As Object, e As Telerik.Web.UI.AjaxRequestEventArgs) Handles RadAjaxManager1.AjaxRequest
|
|
If e.Argument.ToString = "ok" Then
|
|
Me.chkaktiv.Checked = False
|
|
save_schueler()
|
|
Response.Redirect("~/Lehrer/Schueler.aspx")
|
|
If Me.RadListBox1.Items.Count < 1 Then
|
|
Response.Redirect("~/Lehrer/Schueler.aspx")
|
|
Me.txtname.Text = ""
|
|
Me.txtvorname.Text = ""
|
|
Me.lblschuelerstatus.Text = ""
|
|
Me.txtname.Enabled = False
|
|
Me.txtvorname.Enabled = False
|
|
Me.txtBemerkung.Text = ""
|
|
Me.txtBemerkung.Enabled = False
|
|
Me.RadButton3.Enabled = False
|
|
Me.RadButton1.Enabled = False
|
|
Me.Panel3.Enabled = False
|
|
Me.RadGridSchuelerberuf.Enabled = False
|
|
|
|
Else
|
|
Me.lblschuelerstatus.Text = ""
|
|
Me.refresh_data(Me.RadListBox1.SelectedValue)
|
|
End If
|
|
End If
|
|
If e.Argument.ToString = "save" Then save_schueler()
|
|
If e.Argument.ToString = "neu" Then
|
|
|
|
Dim sname As String, svorname As String, sbemerkung As String, IKLASSE As Integer, IKLASSENTYP As Integer
|
|
sname = Me.txtname.Text.ToString
|
|
svorname = Me.txtvorname.Text.ToString
|
|
sbemerkung = Me.txtBemerkung.Text.ToString
|
|
IKLASSE = Me.cbklasse.SelectedValue
|
|
IKLASSENTYP = Me.cbKlassentyp.SelectedValue
|
|
|
|
|
|
neuer_schueler()
|
|
Me.txtname.Text = sname
|
|
Me.txtvorname.Text = svorname
|
|
Me.txtBemerkung.Text = sbemerkung
|
|
Me.cbKlassentyp.SelectedValue = IKLASSENTYP
|
|
Me.cbklasse.SelectedValue = IKLASSE
|
|
|
|
save_schueler()
|
|
End If
|
|
End Sub
|
|
|
|
Protected Sub RadGridSchuelerberuf_NeedDataSource(sender As Object, e As Telerik.Web.UI.GridNeedDataSourceEventArgs) Handles RadGridSchuelerberuf.NeedDataSource
|
|
|
|
End Sub
|
|
|
|
Private Sub RadGridSchuelerberuf_ItemDeleted(sender As Object, e As Telerik.Web.UI.GridDeletedEventArgs) Handles RadGridSchuelerberuf.ItemDeleted
|
|
Dim i As Integer = Me.RadListBox1.SelectedValue
|
|
Me.Update_Schueler_Status()
|
|
Me.RadListBox1.DataBind()
|
|
Me.RadListBox1.SelectedValue = i
|
|
End Sub
|
|
|
|
Protected Sub cbBeruf_SelectedIndexChanged(sender As Object, e As Telerik.Web.UI.RadComboBoxSelectedIndexChangedEventArgs) Handles cbBeruf.SelectedIndexChanged
|
|
Me.txtBerufnr.Text = ""
|
|
End Sub
|
|
End Class |