Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Globalization;
- using System.Windows.Forms;
- using System.Data.SQLite;
- namespace ArbeitUebung
- {
- public partial class Form1 : Form
- {
- private static string connectionString = "";
- private static SQLiteConnection Connection = new SQLiteConnection(connectionString);
- public List<Schueler> Schueler = new List<Schueler>();
- public Form1()
- {
- InitializeComponent();
- Schueler = LadeSchueler(Connection);
- foreach (Schueler schueler in Schueler)
- {
- listBox1.Items.Add(schueler);
- }
- }
- public List<Schueler> LadeSchueler(SQLiteConnection con)
- {
- List<Schueler> newSchueler = new List<Schueler>();
- con.Open();
- SQLiteCommand command = new SQLiteCommand("SELECT * FROM Schueler", con);
- SQLiteDataReader reader = command.ExecuteReader();
- while (reader.Read())
- {
- newSchueler.Add(new Schueler()
- {
- SchuelerId = Convert.ToInt32(reader[0]),
- Name = Convert.ToString(reader[1]),
- Vorname = Convert.ToString(reader[2]),
- Geburtsdatum = DateTime.ParseExact(Convert.ToString(reader[3]), "DD.MM.YYYY",CultureInfo.InvariantCulture),
- Klasse = Convert.ToString(reader[4])
- });
- }
- reader.Close();
- con.Close();
- return newSchueler;
- }
- public List<Fehlzeit> LadeFehlzeiten(SQLiteConnection con, Schueler schueler)
- {
- List<Fehlzeit> fehlzeiten = new List<Fehlzeit>();
- con.Open();
- SQLiteCommand cmd = new SQLiteCommand("SELECT * FROM Fehlzeiten where schuelerid=" + schueler.SchuelerId);
- SQLiteDataReader reader = cmd.ExecuteReader();
- while (reader.Read())
- {
- fehlzeiten.Add(new Fehlzeit()
- {
- FehlId = Convert.ToInt32(reader[0]),
- Schueler = schueler,
- Datum = DateTime.ParseExact(Convert.ToString(reader[2]), "DD.MM.YYYY", CultureInfo.InvariantCulture),
- Stunden = Convert.ToDouble(reader[3])
- });
- }
- reader.Close();
- con.Close();
- return fehlzeiten;
- }
- public List<Attest> LadeAtteste(SQLiteConnection con, Schueler schueler)
- {
- List<Attest> atteste = new List<Attest>();
- con.Open();
- SQLiteCommand cmd = new SQLiteCommand("SELECT * FROM Atteste where schuelerid=" + schueler.SchuelerId);
- SQLiteDataReader reader = cmd.ExecuteReader();
- while (reader.Read())
- {
- atteste.Add(new Attest()
- {
- AttestId = Convert.ToInt32(reader[0]),
- Schueler = schueler,
- Datum = DateTime.ParseExact(Convert.ToString(reader[2]), "DD.MM.YYYY", CultureInfo.InvariantCulture),
- Stunden = Convert.ToDouble(reader[3])
- });
- }
- reader.Close();
- con.Close();
- return atteste;
- }
- public void SetzeFehlzeiten(Schueler schueler, DateTime date, double stunden)
- {
- schueler.Fehlzeiten.Add(new Fehlzeit()
- {
- Schueler = schueler,
- Datum = date,
- Stunden = stunden
- });
- }
- public double BerechneUnentschuldigt(SQLiteConnection con, Schueler schueler)
- {
- con.Open();
- string cmdstring = "SELECT SUM(f.verpassteStunden) FROM Fehlzeiten f JOIN Atteste a ON f.Datum ~= a.Datum WHERE schuelerId=";
- SQLiteCommand cmd = new SQLiteCommand(cmdstring + schueler.SchuelerId, con);
- SQLiteDataReader reader = cmd.ExecuteReader();
- double unentschuldigt = Convert.ToDouble(reader[0]);
- reader.Close();
- con.Close();
- return unentschuldigt;
- //List<Fehlzeit> fehltage = new List<Fehlzeit>();
- //foreach(Fehlzeit fehlzeit in schueler.Fehlzeiten)
- //{
- // foreach (Attest attest in schueler.Atteste)
- // {
- // if (DateTime.Compare(attest.Datum, fehlzeit.Datum) != 0)
- // {
- // fehltage.Add(fehlzeit);
- // }
- // }
- //}
- //return fehltage.Sum(tag => tag.Stunden);
- }
- private void listBox1_MouseDoubleClick(object sender, MouseEventArgs e)
- {
- int index = listBox1.IndexFromPoint(e.Location);
- if (index != ListBox.NoMatches)
- {
- Schueler schueler = Schueler[index];
- schueler.Fehlzeiten = LadeFehlzeiten(Connection, schueler);
- schueler.Atteste = LadeAtteste(Connection, schueler);
- }
- }
- }
- public class Schueler
- {
- public int SchuelerId;
- public string Name;
- public string Vorname;
- public DateTime Geburtsdatum;
- public string Klasse;
- public List<Fehlzeit> Fehlzeiten;
- public List<Attest> Atteste;
- }
- public class Fehlzeit
- {
- public int FehlId;
- public Schueler Schueler;
- public DateTime Datum;
- public double Stunden;
- public Attest Attest;
- }
- public class Attest
- {
- public int AttestId;
- public Schueler Schueler;
- public DateTime Datum;
- public double Stunden;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement