public async Task <IActionResult> PutSchueler([FromRoute] int id, [FromBody] Schueler schueler) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != schueler.SchuelerID) { return(BadRequest()); } _context.Entry(schueler).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!SchuelerExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
static void Main(string[] args) { /* INITIALIZER */ Schule s = new Schule() { Skz = 905417, Name = "HTL Spengergasse" }; s.AddKlasse(new Klasse() { Name = "5CHIF" }); s.AddKlasse(new Klasse() { Name = "5BHIF" }); Schueler sch = new Schueler { Id = 1, Nachname = "Mustermann", Vorname = "Max" }; s.Klassen["5CHIF"].AddSchueler(sch); // Das geht nicht, da id 1 doppelt ist. s.Klassen["5BHIF"].AddSchueler(new Schueler { Id = 1, Nachname = "Mustermann2", Vorname = "Max2" }); }
/// <summary> /// Diese Methode selektiert alle Schüler aus der Datenbank /// </summary> public void selectStudents() { try { string query = "SELECT * FROM `studentmanagement-db`.tbl_student;"; MySqlCommand command = new MySqlCommand(query, mySqlConnection); MySqlDataAdapter sqlDataAdapter = new MySqlDataAdapter(command); using (sqlDataAdapter) { command.ExecuteNonQuery(); DataTable studentTable = new DataTable(); sqlDataAdapter.Fill(studentTable); if (students != null) { students.Clear(); } foreach (DataRow dataRow in studentTable.Rows) { Schueler nschueler = new Schueler(); nschueler.Vorname = Convert.ToString(dataRow["Vorname"]); students.Add(nschueler); } } } catch (Exception) { throw; } }
private void btnSpeichern_Click(object sender, EventArgs e) { if (tbVorname.Text.Equals("") || tbNachname.Text.Equals("") || tbKlasse.Text.Equals("") || tbFörderkurs.Text.Equals("")) { MessageBox.Show("Bitte füllen Sie Vorname, Nachname, Klasse und Förderkurs aus!"); return; } Schueler s = new Schueler(); s.SID = 1; s.Vorname = tbVorname.Text; s.Nachname = tbNachname.Text; var request = new RestRequest(); if (Text.Equals("Schueler hinzufügen")) { request = new RestRequest("schueler", Method.POST); } else { s.SID = schuelerID; request = new RestRequest("schueler", Method.PUT); } request.AddHeader("Content-Type", "application/json"); request.AddJsonBody(a); var response = restClient.Execute(request); Close(); }
private static void GeneriereSchuelerKlasse(Schueler schueler, string[] tmp) { string kbez = tmp[4]; int ksj = 0; if (!Int32.TryParse(tmp[5].Split('/')[0], out ksj)) { throw new FormatException($"Fehlerhaftes Format bei '{tmp[5]}'"); } Klasse k = DBZugriff.Current.SelectFirstOrDefault <Klasse>(x => x.Bez == kbez && x.SJ == ksj); //404 if (k == null) { throw new NullReferenceException($"Konnte keine passende Klasse für Beschreibung '{kbez}'"); } SchuelerKlasse sk = DBZugriff.Current.SelectFirstOrDefault <SchuelerKlasse>(x => x.Klasse == k && x.Schueler == schueler); if (sk == null) { //Schueler befindet sich bereits in einer Klasse, die im gleichen SJ war und aktiv ist => Klasse deaktivieren schueler.SchuelerKlassen.Where(x => x.Klasse.SJ == ksj && x.Active == true).ToList().ForEach(x => x.Active = false); sk = new SchuelerKlasse(); sk.Schueler = schueler; sk.Klasse = k; DBZugriff.Current.Speichern(sk, false); } }
public IActionResult DeleteFromForm(string id) { if (!long.TryParse(id, out long idParsed)) { return(BadRequest()); } Schueler found = db.Schueler.Find(idParsed); if (found == null) { return(Ok()); } db.Entry(found).State = Microsoft.EntityFrameworkCore.EntityState.Deleted; try { db.SaveChanges(); } catch (Microsoft.EntityFrameworkCore.DbUpdateException) { return(StatusCode(StatusCodes.Status500InternalServerError)); } return(Ok(new { found.S_Nr, found.S_Vorname, found.S_Zuname, found.S_Geschl, found.S_Klasse })); }
public async Task <IActionResult> Edit(int id, [Bind("Id,Name,KlasseId")] Schueler schueler) { if (id != schueler.Id) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(schueler); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!SchuelerExists(schueler.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["KlasseId"] = new SelectList(_context.Klasse, "Id", "Id", schueler.KlasseId); return(View(schueler)); }
public ActionResult DeleteConfirmed(int id) { Schueler schueler = db.Schuelers.Find(id); db.Schuelers.Remove(schueler); db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult DeleteConfirmed(int id) { Schueler course = unitOfWork.GetRepository <Schueler>().GetByID(id); unitOfWork.GetRepository <Schueler>().Delete(id); unitOfWork.Save(); return(RedirectToAction("Index")); }
public void TestAddSchueler() { Schule s = new Schule() { Skz = 905417, Name = "HTL Spengergasse" }; s.AddKlasse(new Klasse() { Name = "5CHIF" }); s.AddKlasse(new Klasse() { Name = "5BHIF" }); Schueler sch = new Schueler { Id = 1, Nachname = "Mustermann", Vorname = "Max" }; s.Klassen["5BHIF"].AddSchueler(sch); s.Klassen["5CHIF"].AddSchueler(sch); s.Klassen["5CHIF"].AddSchueler(new Schueler() { Id = 2, Vorname = "", Nachname = "" }); s.Klassen["5CHIF"].AddSchueler(new Schueler() { Id = 3, Vorname = "", Nachname = "" }); s.Klassen["5CHIF"].AddSchueler(new Schueler() { Id = 4, Vorname = "", Nachname = "" }); s.Klassen["5CHIF"].AddSchueler(new Schueler() { Id = 5, Vorname = "", Nachname = "" }); // Prüfen, wenn der Schüler NULL ist Assert.AreEqual <bool>(false, s.Klassen["5CHIF"].AddSchueler(null)); // Zuordnung OK? Assert.AreEqual <Schueler>(sch, s.Klassen["5CHIF"].FindSchuelerById(1)); // Mehr als 5 Schüler gehen nicht? Assert.AreEqual <bool>(false, s.Klassen["5CHIF"].AddSchueler( new Schueler() { Id = 6, Vorname = "", Nachname = "" } )); // Das geht nicht, da id 1 doppelt ist. s.Klassen["5BHIF"].AddSchueler(new Schueler { Id = 1, Nachname = "Mustermann2", Vorname = "Max2" }); }
// GET: /Schueler/Edit/ public ActionResult Edit(int id) { Schueler schuelere = unitOfWork.GetRepository <Schueler>().GetByID(id); var klasse = unitOfWork.GetRepository <Klasse>().Get(); ViewBag.klasse_id = new SelectList(klasse, "klasse_id", "Bezeichnung"); PopulateSchuelerDropDownList(schuelere.schueler_id); return(View(schuelere)); }
private SerienBrief createSchlechtesElternGeschpraech(Schueler schueler, float schnitt) { var values = new Dictionary <string, string>(); string klassenId = schueler.KlassenId; var klasse = repo.getKlasse(klassenId); values.Add(KLASSE_ID, klassenId); values.Add(LEHRER_NAME, klasse.Lehrer.Vorname + " " + klasse.Lehrer.Nachname); values.Add(ELTERN_NACHNAME, schueler.ErziehungsberechtigtePersonen[0].Nachname); return(new SerienBrief(SerienBriefType.ElternGespraechSchlecht, values)); }
public ActionResult Edit([Bind(Include = "schueler_id,Vorname,Nachname,klasse_id")] Schueler schueler) { if (ModelState.IsValid) { db.Entry(schueler).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.klasse_id = new SelectList(db.Klasses, "klasse_id", "Bezeichnung", schueler.klasse_id); return(View(schueler)); }
public async Task <IActionResult> PostSchueler([FromBody] Schueler schueler) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } _context.Schueler.Add(schueler); await _context.SaveChangesAsync(); return(CreatedAtAction("GetSchueler", new { id = schueler.SchuelerID }, schueler)); }
public async Task <bool> Post([FromBody] Schueler value) { try { await SchoolContext.Instance().SaveItem(value, SchoolContext.Instance().GetCollection <Schueler>(_collectionName)); } catch (Exception) { return(false); } return(true); }
private void ResetSchueler() { OnPropertyChanged(nameof(LstSchueler)); if (LstSchueler.Count > 0) { CurrentSchueler = LstSchueler[0]; } else { CurrentSchueler = null; } }
public async Task <IActionResult> Create([Bind("Id,Name,KlasseId")] Schueler schueler) { if (ModelState.IsValid) { _context.Add(schueler); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData["KlasseId"] = new SelectList(_context.Klasse, "Id", "Id", schueler.KlasseId); return(View(schueler)); }
public IActionResult PostFromBody([FromBody] Schueler schueler) { db.Entry(schueler).State = Microsoft.EntityFrameworkCore.EntityState.Added; try { db.SaveChanges(); } catch (Microsoft.EntityFrameworkCore.DbUpdateException) { return(StatusCode(StatusCodes.Status500InternalServerError)); } return(Ok(new { schueler.S_Nr, schueler.S_Vorname, schueler.S_Zuname, schueler.S_Geschl, schueler.S_Klasse })); }
// GET: Schueler/Details/5 public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Schueler schueler = db.Schuelers.Find(id); if (schueler == null) { return(HttpNotFound()); } return(View(schueler)); }
public IActionResult DeleteFromForm([FromForm] Schueler schueler) { Schueler found = db.Schueler.FirstOrDefault(s => s.Nr == schueler.Nr); if (found != null) { db.Schueler.Remove(found); return(Ok(schueler)); } else { return(Ok()); } }
// GET: Schueler/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Schueler schueler = db.Schuelers.Find(id); if (schueler == null) { return(HttpNotFound()); } ViewBag.klasse_id = new SelectList(db.Klasses, "klasse_id", "Bezeichnung", schueler.klasse_id); return(View(schueler)); }
public ActionResult Create( [Bind(Include = "schueler_id, Vorname, Nachname, klasse_id")] Schueler schueler) { try { if (ModelState.IsValid) { unitOfWork.GetRepository <Schueler>().Insert(schueler); unitOfWork.Save(); return(RedirectToAction("Index")); } } catch (DataException /* dex */) { ModelState.AddModelError("", "Unable to save changes. Try again, and if the problem persists, see your system administrator."); } PopulateSchuelerDropDownList(schueler.schueler_id); return(View(schueler)); }
public ActionResult Edit( [Bind(Include = "schueler_id, Vorname, Nachname, klasse_id")] Schueler schueler) { try { if (ModelState.IsValid) { unitOfWork.GetRepository <Schueler>().Update(schueler); unitOfWork.Save(); return(RedirectToAction("Index")); } } catch (DataException /* dex */) { //Log the error (uncomment dex variable name after DataException and add a line here to write a log.) ModelState.AddModelError("", "Unable to save changes. Try again, and if the problem persists, see your system administrator."); } PopulateSchuelerDropDownList(schueler.schueler_id); return(View(schueler)); }
public Schueler Add(Schueler schueler) { using (var tran = CurrentSession.BeginTransaction()) { try { if (schueler.schuelerID > 0) { throw new Exception(String.Format("A Schueler with SchuelerID {0} already exists. To update please use PUT.", schueler.SchuelerID)); } CurrentSession.Save(schueler); tran.Commit(); return(schueler); } catch (Exception ex) { tran.Rollback(); throw ex; } } }
public Schueler Update(Schueler schueler) { using (var tran = CurrentSession.BeginTransaction()) { try { if (schueler.SchuelerID == 0) { throw new Exception("For creating a artikel please use POST"); } CurrentSession.Update(schueler); tran.Commit(); return(schueler); } catch (Exception ex) { tran.Rollback(); throw ex; } } }
public string FindeAPSchriftlichNoten(string faecherspiegel, int index, Schulart schulart, Schueler schueler, Zeitpunkt zeitpunkt) { string faecherKuerzel = omnis.SucheFach(faecherspiegel, index, schulart); // hier nur zur Anzeige etwaiger Fehlermeldungen benötigt if (string.IsNullOrEmpty(faecherKuerzel)) { return ""; } var noten = FindeFachNoten(faecherKuerzel, schueler); if (noten == null) { return "-"; // Fach wurde wohl nicht belegt (kann ab und zu vorkommen, z. B. bei Wahlfächern) } var apnote = noten.getNoten(Halbjahr.Zweites, Notentyp.APSchriftlich); if (apnote == null || apnote.Count == 0) { return ""; } return string.Format(CultureInfo.CurrentCulture, "{0:00}", apnote[0]); }
public void searchStudents() { try { mySqlConnection.Open(); string query = "SELECT * FROM `studentmanagement-db`.tbl_student WHERE FK_Klasse= @FK_Klasse;"; MySqlCommand command = new MySqlCommand(query, mySqlConnection); MySqlDataAdapter sqlDataAdapter = new MySqlDataAdapter(command); using (sqlDataAdapter) { command.Parameters.AddWithValue("@FK_Klasse", KlassenProp.KlassenIDFK); command.ExecuteNonQuery(); DataTable studentTable = new DataTable(); sqlDataAdapter.Fill(studentTable); if (students != null) { students.Clear(); } foreach (DataRow dataRow in studentTable.Rows) { Schueler nschueler = new Schueler(); //generieren.schueler.Schueler_ID = (int)(dataRow["tbl_student_id"]); nschueler.Vorname = Convert.ToString(dataRow["Vorname"]); //generieren.schueler.Nachname = Convert.ToString(dataRow["Nachname"]); students.Add(nschueler); } } } catch (Exception) { throw; } finally { mySqlConnection.Close(); } }
public FachSchuelerNoten FindeFachNoten(string faecherKuerzel, Schueler schueler) { if (faecherKuerzel.Equals("Rel", StringComparison.OrdinalIgnoreCase)) { // Relinote - je nachdem, ob Schüler Evangelisch oder Katholisch ist. Geht er in Ethik: "-" var kath = schueler.getNoten.FindeFach("K", false); if (kath != null) return kath; var ev = schueler.getNoten.FindeFach("Ev", false); if (ev != null) return ev; return null; //offenbar weder kath. noch ev. } if (faecherKuerzel.Equals("Eth", StringComparison.OrdinalIgnoreCase)) { //Ethiknote (wenn der Schüler in Ethik geht, sonst null) return schueler.getNoten.FindeFach("Eth", false); } return schueler.getNoten.FindeFach(faecherKuerzel, false); }
private void Statusausgabe() { if (comboBoxFehlzeitenAnzeigenSchueler.SelectedItem != null) { Schueler schueler = (Schueler)comboBoxFehlzeitenAnzeigenSchueler.SelectedItem; if (checkBoxFehlzeitenAnzeigenDetails.Checked) { textBoxFehlzeitenAnzeigenAusgabe.Text = $"{schueler.ToString()}"; foreach (Fehlzeit fehlzeit in schueler.Fehlzeiten) { textBoxFehlzeitenAnzeigenAusgabe.Text += $"{Environment.NewLine}{fehlzeit.Datum.ToString("dd/MM/yyyy")} - {fehlzeit.Fehlstunden} Fehlstunden ({fehlzeit.EntschuldigteStunden} entschuldigt)"; } textBoxFehlzeitenAnzeigenAusgabe.Text += $"{Environment.NewLine}Insgesamt {schueler.FehlzeitenSumme()} Fehlstunden, davon sind {schueler.EntschuldigteStundenSumme()} entschuldigt und {schueler.UnentschuldigteStundenSumme()} unentschuldigt.{Environment.NewLine}"; } else { textBoxFehlzeitenAnzeigenAusgabe.Text += $"Schüler {schueler.ToString()} hat insgesamt {schueler.FehlzeitenSumme()} Fehlstunden, davon sind {schueler.EntschuldigteStundenSumme()} entschuldigt und {schueler.UnentschuldigteStundenSumme()} unentschuldigt.{Environment.NewLine}"; } //Scrollt automatisch ans Ende des Textes textBoxFehlzeitenAnzeigenAusgabe.SelectionStart = textBoxFehlzeitenAnzeigenAusgabe.Text.Length; textBoxFehlzeitenAnzeigenAusgabe.ScrollToCaret(); } }
public IActionResult PutFromForm(string id, [FromBody] Schueler schueler) { if (!long.TryParse(id, out long idParsed)) { return(BadRequest()); } Schueler found = db.Schueler.Find(idParsed); if (found == null) { return(Ok()); } try { found.S_Geschl = schueler.S_Geschl; // S_Klasse müssen wir nicht setzen, es wird von EF durch die Navigation beim Setzen // des EntityState auf Modified gesetzt. found.S_KlasseNavigation = db.Klasse.Find(schueler.S_Klasse) ?? throw new InvalidOperationException("Invalid Class"); found.S_Vorname = schueler.S_Vorname; found.S_Zuname = schueler.S_Zuname; db.Entry(found).State = Microsoft.EntityFrameworkCore.EntityState.Modified; db.SaveChanges(); } // Tritt auf, wenn die Klasse nicht gefunden wurde. catch (InvalidOperationException) { return(StatusCode(StatusCodes.Status500InternalServerError)); } catch (Microsoft.EntityFrameworkCore.DbUpdateException) { return(StatusCode(StatusCodes.Status500InternalServerError)); } return(Ok(new { found.S_Nr, found.S_Vorname, found.S_Zuname, found.S_Geschl, found.S_Klasse })); }
static void Main(string[] args) { PruefDb db = PruefDb.FromMockup(); // ************************************************************************************* // MUSTERBEISPIELE // ************************************************************************************* // 1. Suche den Schüler mit der ID 1003 // Where liefert IEnumerable, also immer eine Collecion. // Deswegen brauchen wir First, um auf das erste Element zugreifen // zu können. Schueler result1 = db.Schuelers.Where(s => s.Id == 1003).First(); // 2. Welcher Schüler hat die Id 999? // First liefert eine Exception, da die Liste leer ist. // FirstOrDefault liefert in diesem Fall den Standardwert (null). Schueler result2 = db.Schuelers.Where(s => s.Id == 999).FirstOrDefault(); // 3. Wie viele Schüler sind in der Liste? int result3 = db.Schuelers.Count(); // 4. Wie viele Schüler gehen in die 3BHIF? int result4 = db.Schuelers.Where(s => s.Klasse == "3BHIF").Count(); // Für Count existiert eine Überladung, die auch eine Filterfunktion // bekommen kann. result4 = db.Schuelers.Count(s => s.Klasse == "3BHIF"); // ************************************************************************************* // ÜBUNGEN // ************************************************************************************* // 5. Welche Note hat die Prüferin FAV bei ihrer schlechtesten Prüfung vergeben. // Schreibe das Ergebnis mit dem richtigen Datentyp in die Variable result5 (kein var verwenden!). object result5 = null; Console.WriteLine($"Beispiel 5: FAV gab schlechtestens die Note {result5}."); // 6. Welchen Notendurchschnitt haben die weiblichen Schülerinnen in POS? // Schreibe das Ergebnis mit dem richtigen Datentyp in die Variable result6 (kein var verwenden!). object result6 = null; Console.WriteLine($"Beispiel 6: Notenschnitt der Schülerinnen in POS: {result6:0.00}"); // 7. Welche Schüler haben 6 oder mehr Prüfungen? Gib eine Liste von Schülern zurück und gib Sie aus. // Schreibe das Ergebnis mit dem richtigen Datentyp in die Variable result7 (kein var verwenden!). object result7 = null; Console.WriteLine("Beispiel 7: Schüler mit mehr als 6 Prüfungen."); result7.ToList().ForEach(s => { Console.WriteLine($" {s.Name} {s.Vorname} hat mehr 6 oder mehr Prüfungen."); }); // 8. Welche Schüler haben eine DBI Prüfung? Gib eine Liste von Schülern zurück und gib sie aus. // Hinweis: kombiniere Where und Any, indem Any in der Where Funktion verwendet wird. // Schreibe das Ergebnis mit dem richtigen Datentyp in die Variable result8 (kein var verwenden!). object result8 = null; Console.WriteLine("Beispiel 8: Schüler mit DBI Prüfungen."); result8.ToList().ForEach(s => { Console.WriteLine($" {s.Name} {s.Vorname} hat eine DBI Prüfung."); }); // 9. Gibt es Schüler, die nur in POS eine Prüfung haben? Gib eine Liste von Schülern zurück und gib sie aus. // Hinweis: kombiniere Where und All, indem All in der Where Funktion verwendet wird. // All gibt auch Schüler aus, die keine Prüfung haben. Dies kann so belassen werden. // Schreibe das Ergebnis mit dem richtigen Datentyp in die Variable result9 (kein var verwenden!). object result9 = null; Console.WriteLine("Beispiel 9: Schüler, die nur in POS eine Prüfung haben."); result9.ToList().ForEach(s => { Console.WriteLine($" {s.Name} {s.Vorname} hat nur in POS eine Prüfung."); }); // 10. Welche Schüler haben keine POS Prüfung? Gib eine Liste von Schülern zurück und gib sie aus. // Hinweis: kombinieren Where und Any, indem Any in der Where Funktion verwendet wird. // Schreibe das Ergebnis mit dem richtigen Datentyp in die Variable result10 (kein var verwenden!). object result10 = null; Console.WriteLine("Beispiel 10: Schüler, die keine POS Prüfung haben."); result10.ToList().ForEach(s => { Console.WriteLine($" {s.Name} {s.Vorname} hat keine POS Prüfung."); }); // 11. Welche Schüler haben überhaupt keine Prüfung? Gib eine Liste von Schülern zurück und gib sie aus. // Hinweis: Verwende das Count Property. // Schreibe das Ergebnis mit dem richtigen Datentyp in die Variable result11 (kein var verwenden!). object result11 = null; Console.WriteLine("Beispiel 11: Schüler, die überhaupt keine Prüfung haben."); result11.ToList().ForEach(s => { Console.WriteLine($" {s.Name} {s.Vorname} hat keine Prüfung."); }); // 12. Welche Schüler hatten in Juni AM Prüfungen? Gib eine Liste von Prüfungen zurück und gib sie mit dem Schülernamen aus. // Hinweis: Verwende das Month Property des Datum Feldes. // Schreibe das Ergebnis mit dem richtigen Datentyp in die Variable result12 (kein var verwenden!). object result12 = null; Console.WriteLine("Beispiel 12: Schüler, die im Juni eine AM Prüfung hatten."); result12.ToList().ForEach(p => { Console.WriteLine($" {p.Schueler.Name} {p.Schueler.Vorname} hat bei {p.Pruefer} eine Prüfung in AM."); }); // 13. Welche Schüler haben bei einer AM Prüfung eine negative Note, // aber in E nur positive Prüfungen? // Schreibe das Ergebnis mit dem richtigen Datentyp in die Variable result13 (kein var verwenden!). object result13 = null; Console.WriteLine("Beispiel 13: Schüler, die in AM einmal negativ, aber in E immer positiv waren."); result13.ToList().ForEach(s => { Console.WriteLine($" {s.Name} {s.Vorname} war in AM negativ, in E aber nie."); }); // 14. Welche Schüler haben im Mittel bessere DBI Prüfungen als D Prüfungen. Anders gesagt: Bei wem // ist der Notenschnitt der DBI Prüfungen kleiner als der Notenschnitt der D Prüfungen. // Gib eine Liste von Schülern zurück, auf die das zutrifft. // Hinweise: // -) Wenn mit Where gefiltert wird, kann es sein, dass eine leere Liste zurückkommt. // -) Average kann nur von einer Liste mit Elementen aufgerufen werden. // -) Erstelle daher eine Lambda Expression mit try und catch im inneren, die false im Fehlerfall liefert. // Schreibe das Ergebnis mit dem richtigen Datentyp in die Variable result14 (kein var verwenden!). object result14 = null; Console.WriteLine("Beispiel 14: Schüler, in DBI bessere Prüfungen (Notenschnitt) als in D hatten."); result14.ToList().ForEach(s => { Console.WriteLine($" {s.Name} {s.Vorname} ist in DBI besser als in D."); }); }
/// <summary> /// Sucht das Fach am angegebenen Index aus dem angegebenen Fächerspiegel. /// </summary> /// <param name="faecherspiegel">Welcher Fächerspiegel, z. B. W11.</param> /// <param name="index">Der Index des Faches.</param> /// <param name="schulart">FOS oder BOS.</param> /// <param name="schueler">Den Schüler brauchen wir auch, um zu ermitteln ob er katholisch oder evangelisch ist.</param> /// <param name="zeitpunkt">Der Zeitpunkt, für welchen wir die Note ermitteln müssen.</param> /// <returns>Das Fach oder null, wenn kein weiteres Fach mehr im Fächerspiegel vorhanden ist.</returns> public string GetFachNoteString(string faecherspiegel, int index, Schulart schulart, Schueler schueler, Zeitpunkt zeitpunkt) { string faecherKuerzel = omnis.SucheFach(faecherspiegel, index, schulart); // hier nur zur Anzeige etwaiger Fehlermeldungen benötigt if (string.IsNullOrEmpty(faecherKuerzel)) { return ""; // Wenn kein sinnvolles Fach mehr kommt, bleibt das Notenfeld leer } var dieRichtigeNote = FindeFachNoten(faecherKuerzel, schueler); if (dieRichtigeNote == null) { if (FehlendeNoteWirdWohlOKSein(faecherKuerzel)) { log.Debug(schueler.NameVorname + " sollte in " + faecherKuerzel + " gehen, aber diese Zuordnung findet diNo nicht!"); } else { log.Warn(schueler.NameVorname + " sollte in " + faecherKuerzel + " gehen, aber diese Zuordnung findet diNo nicht!"); } return "-"; } else { return GetNotenString(dieRichtigeNote, zeitpunkt); } }
private static void SucheWahlpflichtfach(Zeitpunkt zeitpunkt, Faecherspiegel faecher, VerwalteZeile zeile, Schueler schueler, int bezeichnungCol, int noteCol) { if (string.IsNullOrEmpty(zeile[bezeichnungCol])) { return; } string fach = zeile[bezeichnungCol]; if (fach =="F3") { fach = "F-Wi"; } var wahlpflichtfach = schueler.getNoten.FindeFach(fach, false); if (wahlpflichtfach != null) { zeile[noteCol] = faecher.GetNotenString(wahlpflichtfach, zeitpunkt); } else { log.Warn("Für den Schüler "+schueler.NameVorname+" konnte das Wahlpflichtfach "+fach+" nicht gefunden werden."); } }
private bool BrauchtZeugnis(Schueler schueler, Zeitpunkt zeitpunkt) { if (zeitpunkt == Zeitpunkt.HalbjahrUndProbezeitFOS) { return true; // zum Halbjahr bekommen alle ein Zeugnis } // zu den PA-Sitzungen werden nur für die 12. und 13. Jahrgangsstufe Zeugnisse übertragen if (zeitpunkt == Zeitpunkt.ErstePA || zeitpunkt == Zeitpunkt.ZweitePA || zeitpunkt == Zeitpunkt.DrittePA) { return schueler.getKlasse.Jahrgangsstufe == Jahrgangsstufe.Dreizehn || schueler.getKlasse.Jahrgangsstufe == Jahrgangsstufe.Zwoelf; } if (zeitpunkt == Zeitpunkt.Jahresende) { return schueler.getKlasse.Jahrgangsstufe == Jahrgangsstufe.Elf || schueler.getKlasse.Jahrgangsstufe == Jahrgangsstufe.Vorklasse || schueler.getKlasse.Jahrgangsstufe == Jahrgangsstufe.Vorkurs; } return false; }
public IActionResult PostFromBody([FromBody] Schueler schueler) { db.Schueler.Add(schueler); return(Ok(schueler)); }
public string FindeJahresfortgangsNoten(string faecherspiegel, int index, Schulart schulart, Schueler schueler, Zeitpunkt zeitpunkt) { string faecherKuerzel = omnis.SucheFach(faecherspiegel, index, schulart); // hier nur zur Anzeige etwaiger Fehlermeldungen benötigt if (string.IsNullOrEmpty(faecherKuerzel)) { return ""; } var noten = FindeFachNoten(faecherKuerzel, schueler); if (noten == null) { return "-"; } return string.Format(CultureInfo.CurrentCulture, "{0:00.00}", noten.getSchnitt(Halbjahr.Zweites).JahresfortgangMitKomma); }
private static KlassenzielOderGefaehrdung GetZielerreichung(Zeitpunkt zeitpunkt, Schueler schueler) { KlassenzielOderGefaehrdung ziel = zeitpunkt == Zeitpunkt.HalbjahrUndProbezeitFOS ? KlassenzielOderGefaehrdung.NichtGefaehrdet : KlassenzielOderGefaehrdung.VorrueckenOK; foreach (var vorkommnis in schueler.Vorkommnisse) { switch (vorkommnis.Art) { case Vorkommnisart.starkeGefaehrdungsmitteilung: ziel = KlassenzielOderGefaehrdung.SehrGefaehrdet; break; case Vorkommnisart.Gefaehrdungsmitteilung: ziel = KlassenzielOderGefaehrdung.Gefaehrdet; break; case Vorkommnisart.BeiWeiteremAbsinken: ziel = KlassenzielOderGefaehrdung.BeiWeiteremAbsinkenGefaehrdet; break; case Vorkommnisart.NichtZurPruefungZugelassen: return KlassenzielOderGefaehrdung.AbschlusspruefungOhneErfolg; case Vorkommnisart.Notenausgleich: return KlassenzielOderGefaehrdung.NotenausgleichGewaehrt; case Vorkommnisart.NichtBestanden: return KlassenzielOderGefaehrdung.AbschlusspruefungOhneErfolg; } } return ziel; }
private static fpaNote GetFpaNote(Zeitpunkt zeitpunkt, Schueler schueler) { if (zeitpunkt == Zeitpunkt.HalbjahrUndProbezeitFOS && !schueler.FPANoten.IsErfolg1HjNull()) { //das ist dieselbe Zahlencodierung ist wie in der DB (0=nicht gesetzt, 1 = sehr gut, ... 4 = ohne Erfolg) return (fpaNote)schueler.FPANoten.Erfolg1Hj; } else if (!schueler.FPANoten.IsErfolgNull()) { return (fpaNote)schueler.FPANoten.Erfolg; } return fpaNote.Entfaellt; }
private static AbschlusspruefungBestanden GetBestanden(Zeitpunkt zeitpunkt, Schueler schueler) { KlassenzielOderGefaehrdung zielerreichung = GetZielerreichung(zeitpunkt, schueler); if (zielerreichung == KlassenzielOderGefaehrdung.AbschlusspruefungOhneErfolg) { return AbschlusspruefungBestanden.NichtBestanden; } if (zielerreichung == KlassenzielOderGefaehrdung.NotenausgleichGewaehrt) { return AbschlusspruefungBestanden.BestandenMitNotenausgleichArt33; } return AbschlusspruefungBestanden.Bestanden; }