public async Task <IActionResult> Edit(int id, [Bind("Id,Name")] Lehrer lehrer) { if (id != lehrer.Id) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(lehrer); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!LehrerExists(lehrer.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(lehrer)); }
public IActionResult ModifyTeacher(Lehrer lehrer) { if (lehrer == null) { return(BadRequest()); } if (!TokenProvider.IsAdmin(User)) { return(Unauthorized()); } var dbLehrer = context.Lehrer.FirstOrDefault(r => r.Id == lehrer.Id); if (dbLehrer == null) { return(NotFound()); } dbLehrer.Name = lehrer.Name; dbLehrer.Email = lehrer.Email; dbLehrer.Blocked = lehrer.Blocked; dbLehrer.Administrator = lehrer.Administrator; context.Lehrer.Update(dbLehrer); return(Ok()); }
public IActionResult AddTeacher(AddTeacherRequest request) { if (request == null) { return(BadRequest()); } if (!TokenProvider.IsAdmin(User)) { return(Unauthorized()); } var lehrer = new Lehrer() { Name = request.name, Email = request.email, Administrator = request.admin }; using (var sha = SHA256.Create()) { lehrer.Password = Convert.ToBase64String( sha.ComputeHash(Encoding.UTF8.GetBytes(request.password + LoginController.SALT))); } context.Lehrer.Add(lehrer); return(Ok()); }
// GET: /Lehrer/Edit/ public ActionResult Edit(int id) { Lehrer lehrer = unitOfWork.GetRepository <Lehrer>().GetByID(id); PopulateLehrerDropDownList(lehrer.lehrer_id); return(View(lehrer)); }
public async Task <IActionResult> PutLehrer([FromRoute] int id, [FromBody] Lehrer lehrer) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != lehrer.LehrerID) { return(BadRequest()); } _context.Entry(lehrer).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!LehrerExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public ActionResult DeleteConfirmed(int id) { Lehrer lehrer = db.Lehrers.Find(id); db.Lehrers.Remove(lehrer); db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult DeleteConfirmed(int id) { Lehrer course = unitOfWork.GetRepository <Lehrer>().GetByID(id); unitOfWork.GetRepository <Lehrer>().Delete(id); unitOfWork.Save(); return(RedirectToAction("Index")); }
public ActionResult Edit([Bind(Include = "lehrer_id,Vorname,Nachname")] Lehrer lehrer) { if (ModelState.IsValid) { db.Entry(lehrer).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(lehrer)); }
private static Dictionary <string, object> GetUserClaimsAsDictionary(Lehrer teacher) { return(new Dictionary <string, object> { { "id", teacher.Id.ToString() }, { "email", teacher.Email }, { "name", teacher.Name }, { "admin", teacher.Administrator ? "1" : "0" }, { "random", DateTime.Now.ToString() } }); }
public async Task <IActionResult> Create([Bind("Id,Name")] Lehrer lehrer) { if (ModelState.IsValid) { _context.Add(lehrer); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(lehrer)); }
public ActionResult Create([Bind(Include = "lehrer_id,Vorname,Nachname")] Lehrer lehrer) { if (ModelState.IsValid) { db.Lehrers.Add(lehrer); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(lehrer)); }
private static ClaimsIdentity GetUserClaims(Lehrer teacher) { return(new ClaimsIdentity(new List <Claim> { new Claim("id", teacher.Id.ToString()), new Claim("email", teacher.Email), new Claim("name", teacher.Name), new Claim("admin", teacher.Administrator ? "1" : "0"), new Claim("random", DateTime.Now.ToString()) })); }
public async Task <IActionResult> PostLehrer([FromBody] Lehrer lehrer) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } _context.Lehrer.Add(lehrer); await _context.SaveChangesAsync(); return(CreatedAtAction("GetLehrer", new { id = lehrer.LehrerID }, lehrer)); }
private static Lehrer AddLehrer(StundenplanDbContext dbContext, int?stundenId, string name) { Lehrer lehrer = new Lehrer() { Name = name, StundenId = stundenId }; dbContext.Lehrer.Add(lehrer); dbContext.SaveChanges(); return(lehrer); }
/// <summary> /// Importiert die Lehrer aus einer CSV-Datei --> erstellt daraus die Lehrerobjekte--> speichert diese in die Datenbank /// </summary> /// <param name="pfad">Pfad der Lehrerdatei</param> public static Importstatistik ImportLehrer(string pfad) { string[] tmp; int ok = 0; List <Exception> fehler = new List <Exception>(); foreach (string s in ReadAllLines(pfad)) { try { tmp = s.Split(','); int sid = Convert.ToInt32(tmp[0]); Lehrer lehrer = DBZugriff.Current.SelectFirstOrDefault <Lehrer>(x => x.SID == sid); lehrer = lehrer ?? new Lehrer(); if (tmp[3].Length > 5) { throw new FileFormatException("Die Datei hat das falsche Format für den angegebenen Dateityp!"); } lehrer.SID = Convert.ToInt32(tmp[0]); lehrer.Nachname = tmp[1]; lehrer.Vorname = tmp[2]; lehrer.Kuerzel = tmp[3]; DBZugriff.Current.Speichern(lehrer, false); ok++; } catch (Exception e) { fehler.Add(e); } } if (ok == 0) { throw new FileFormatException("Die Datei hat das falsche Format für den angegebenen Dateityp!"); } DBZugriff.Current.Save(); return(new Importstatistik() { Bez = "Lehrer", OkCount = ok, Fehler = fehler, }); }
// GET: Lehrer/Delete/5 public ActionResult Delete(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Lehrer lehrer = db.Lehrers.Find(id); if (lehrer == null) { return(HttpNotFound()); } return(View(lehrer)); }
public static LoginResponse FromTeacher(Lehrer teacher) { var response = new LoginResponse { administrator = teacher.Administrator, blocked = teacher.Blocked, email = teacher.Email, name = teacher.Name, passwordGeaendert = teacher.PasswordGeaendert, token = teacher.Token }; return(response); }
private static void SeedDatabase(IMongoDatabase db) { db.DropCollection(nameof(Lehrer)); db.DropCollection(nameof(Klasse)); Randomizer.Seed = new Random(2112); var faecher = new string[] { "POS", "DBI", "AM", "D", "E", "BWM" }; var lehrer = new Faker <Lehrer>().CustomInstantiator(f => { var zuname = f.Name.LastName(); var l = new Lehrer( id: zuname.Length < 3 ? zuname.ToUpper() : zuname.Substring(0, 3).ToUpper(), vorname: f.Name.FirstName(), zuname: zuname) { Email = $"{zuname}@spengergasse.at".OrDefault(f, 0.2f), Gehalt = f.Random.Decimal2(2000, 5000).OrNull(f, 0.5f) }; // Lehrer sind in 0 - 3 Fächern aus der Liste lehrbefähigt. l.Lehrbefaehigungen.AddRange(f.Random.ListItems(faecher, f.Random.Int(0, 3))); return(l); }) .Generate(100) .GroupBy(l => l.Id) .Select(l => l.First()) .ToList(); db.GetCollection <Lehrer>(nameof(Lehrer)).InsertMany(lehrer); var abteilungen = new string[] { "HIF", "AIF", "BIF" }; var klassen = new Faker <Klasse>().CustomInstantiator(f => { return(new Klasse( id: f.Random.Int(1, 5) + f.Random.String2(1, "ABCD") + f.Random.ListItem(abteilungen), kv: f.Random.ListItem(lehrer))); }) .Generate(100) .GroupBy(k => k.Id) .Select(k => k.First()) .Take(10) .ToList(); db.GetCollection <Klasse>(nameof(Klasse)).InsertMany(klassen); }
internal static string GetToken(Lehrer teacher) { var tokenHandler = new JwtSecurityTokenHandler(); var tokenDescriptor = new SecurityTokenDescriptor { Issuer = "http://localhost:80", Audience = "GSO", Subject = GetUserClaims(teacher), IssuedAt = DateTime.Now, Expires = DateTime.Now.AddDays(1), Claims = GetUserClaimsAsDictionary(teacher), SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(Startup.SecretKey), SecurityAlgorithms.HmacSha256Signature) }; var token = tokenHandler.CreateToken(tokenDescriptor); return(tokenHandler.WriteToken(token)); }
public ActionResult Create( [Bind(Include = "lehrer_id, Vorname, Nachname")] Lehrer lehrer) { try { if (ModelState.IsValid) { unitOfWork.GetRepository <Lehrer>().Insert(lehrer); 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."); } PopulateLehrerDropDownList(lehrer.lehrer_id); return(View(lehrer)); }
public ActionResult Edit( [Bind(Include = "lehrer_id, Vorname, Nachname")] Lehrer lehrer) { try { if (ModelState.IsValid) { unitOfWork.GetRepository <Lehrer>().Update(lehrer); 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."); } PopulateLehrerDropDownList(lehrer.lehrer_id); return(View(lehrer)); }
// GET: /Lehrer/Details/5 public ViewResult Details(int id) { Lehrer lehrer = unitOfWork.GetRepository <Lehrer>().GetByID(id); return(View(lehrer)); }
private static void RunTest() { try { Schule schule = new Schule() { Bez = "TestSchule", }; schule.Speichern(); Lehrer leh = new Lehrer() { Vorname = "VorTest", Nachname = "NachTest", Kürzel = "TL", }; leh.Speichern(); Klasse kl = new Klasse() { Bez = "TKL1A", SJ = 2017, Schule = schule, Klassenleiter = leh, StellvertretenderKlassenleiter = leh, }; kl.Speichern(); Zeugnisfach zf = new Zeugnisfach() { Bez = "TestAbschlussFach", Fachart = "TestFachArt", Pos = 1, Vorrueckungsfach = true, AbschliessendesFach = true, Klasse = kl, }; zf.Speichern(); Unterrichtsfach uf = new Unterrichtsfach() { Bez = "TestUnterichtsFach", Pos = 1, Stunden = 6, Zeugnisfach = zf, }; uf.Speichern(); UFachLehrer ufl = new UFachLehrer() { Lehrer = leh, Unterrichtsfach = uf, Stunden = uf.Stunden }; ufl.Speichern(); Schueler s = new Schueler() { Vorname = "VorTestS", Nachname = "NachTestS", Geburtsdatum = new DateTime(2000, 1, 1), Geschlecht = Geschlecht.M, Konfession = Konfession.NONE, }; s.Speichern(); SchuelerKlasse sk = new SchuelerKlasse() { Klasse = kl, Schueler = s, }; sk.Speichern(); Leistungsart la = new Leistungsart() { Bez = "Schulaufgabe", Gewichtung = 2, Gruppe = "S", }; la.Speichern(); Leistungsgruppe lg = new Leistungsgruppe() { Bez = "Schriftlich", Gewicht = "2", Leistungsart = la }; lg.Speichern(); Leistung lei = new Leistung() { Erhebungsdatum = DateTime.Now, Notenstufe = 1, Tendenz = Tendenz.UP, LetzteÄnderung = DateTime.Now, Leistungsart = la, SchuelerKlasse = sk, }; lei.Speichern(); } catch (Exception e) { Console.WriteLine(e); } }
// GET: /Lehrer/Delete/ public ActionResult Delete(int id) { Lehrer lehrer = unitOfWork.GetRepository <Lehrer>().GetByID(id); return(View(lehrer)); }
internal void InsertTest() { Schule schule = new Schule() { Bez = "EDV-Schule",//"TestSchule"+DateTime.Now.Millisecond, }; schule.Speichern(); Lehrer leh = new Lehrer() { Vorname = "Klaus", Nachname = "Reuther", Kuerzel = "BAR", }; leh.Speichern(); Klasse kl = new Klasse() { Bez = "BFI12A",//"TKL1A"+ DateTime.Now.Millisecond, SJ = ViewModel.Tool.CURRENTSJ, Schule = schule, Klassenleiter = leh, StellvertretenderKlassenleiter = leh, }; kl.Speichern(); Zeugnisfach zf = new Zeugnisfach() { Bez = "TFBAN", Fachart = Fachart.Pflichtfach, Pos = 1, Vorrueckungsfach = true, AbschliessendesFach = true, Klasse = kl, }; zf.Speichern(); Zeugnisfach zf2 = new Zeugnisfach() { Bez = "Anwendungsentwicklung", Fachart = Fachart.Wahlpflichtfach, Pos = 2, Vorrueckungsfach = true, AbschliessendesFach = true, Klasse = kl, }; zf2.Speichern(); Unterrichtsfach uf = new Unterrichtsfach() { Bez = "TFBAN1", Pos = 1, Stunden = 6, Zeugnisfach = zf, }; uf.Speichern(); Unterrichtsfach uf2 = new Unterrichtsfach() { Bez = "TFBAN2", Pos = 1, Stunden = 4, Zeugnisfach = zf, }; uf2.Speichern(); Unterrichtsfach uf2B = new Unterrichtsfach() { Bez = "C#", Pos = 1, Stunden = 4, Zeugnisfach = zf2, }; uf2B.Speichern(); UFachLehrer ufl = new UFachLehrer() { Lehrer = leh, Unterrichtsfach = uf, Stunden = uf.Stunden }; ufl.Speichern(); UFachLehrer ufl2 = new UFachLehrer() { Lehrer = leh, Unterrichtsfach = uf2, Stunden = uf.Stunden }; ufl2.Speichern(); UFachLehrer ufl2B = new UFachLehrer() { Lehrer = leh, Unterrichtsfach = uf2B, Stunden = uf.Stunden }; ufl2B.Speichern(); Schueler s = new Schueler() { Vorname = "Hans",//"VornameSchüler"+DateTime.Now.Millisecond, Nachname = "Bauer", Geburtsdatum = new DateTime(2000, 1, 1), Geschlecht = Geschlecht.M, Konfession = Konfession.BL, }; s.Speichern(); SchuelerKlasse sk = new SchuelerKlasse() { Klasse = kl, Schueler = s, }; sk.Speichern(); Schueler s2 = new Schueler() { Vorname = "Harry",//"VornameSchüler" + (DateTime.Now.Millisecond+10), Nachname = "Müller", Geburtsdatum = new DateTime(2001, 1, 1), Geschlecht = Geschlecht.M, Konfession = Konfession.BL, }; s2.Speichern(); SchuelerKlasse sk2 = new SchuelerKlasse() { Klasse = kl, Schueler = s2, }; sk2.Speichern(); Leistungsgruppe lg = new Leistungsgruppe() { Bez = "Schriftlich", Gewicht = 2, }; lg.Speichern(); Leistungsgruppe lg2 = new Leistungsgruppe() { Bez = "Mündlich", Gewicht = 1, }; lg2.Speichern(); Leistungsart la = new Leistungsart() { Bez = "Schulaufgabe", Gewichtung = 2, Gruppe = lg, }; la.Speichern(); Leistungsart la2 = new Leistungsart() { Bez = "Stegreifaufgabe", Gewichtung = 1, Gruppe = lg, }; la2.Speichern(); Leistungsart la3 = new Leistungsart() { Bez = "Abfrage", Gewichtung = 1, Gruppe = lg2, }; la3.Speichern(); Leistung lei = new Leistung() { Erhebungsdatum = DateTime.Now, Notenstufe = 1, Tendenz = Tendenz.UP, LetzteÄnderung = DateTime.Now, Leistungsart = la, SchuelerKlasse = sk, UFachLehrer = ufl }; lei.Speichern(); Leistung lei2 = new Leistung() { Erhebungsdatum = DateTime.Now, Notenstufe = 3, Tendenz = Tendenz.UP, LetzteÄnderung = DateTime.Now, Leistungsart = la2, SchuelerKlasse = sk, UFachLehrer = ufl }; lei2.Speichern(); Leistung lei3 = new Leistung() { Erhebungsdatum = DateTime.Now, Notenstufe = 2, Tendenz = Tendenz.UP, LetzteÄnderung = DateTime.Now, Leistungsart = la2, SchuelerKlasse = sk, UFachLehrer = ufl }; lei3.Speichern(); Leistung lei4 = new Leistung() { Erhebungsdatum = DateTime.Now, Notenstufe = 3, Tendenz = Tendenz.UP, LetzteÄnderung = DateTime.Now, Leistungsart = la3, SchuelerKlasse = sk, UFachLehrer = ufl }; lei4.Speichern(); Leistung leiB = new Leistung() { Erhebungsdatum = DateTime.Now, Notenstufe = 3, Tendenz = Tendenz.UP, LetzteÄnderung = DateTime.Now, Leistungsart = la, SchuelerKlasse = sk, UFachLehrer = ufl2 }; leiB.Speichern(); Leistung lei2B = new Leistung() { Erhebungsdatum = DateTime.Now, Notenstufe = 1, Tendenz = Tendenz.UP, LetzteÄnderung = DateTime.Now, Leistungsart = la, SchuelerKlasse = sk, UFachLehrer = ufl2B }; lei2B.Speichern(); Leistung lei2C = new Leistung() { Erhebungsdatum = DateTime.Now, Notenstufe = 3, Tendenz = Tendenz.UP, LetzteÄnderung = DateTime.Now, Leistungsart = la, SchuelerKlasse = sk, UFachLehrer = ufl2B }; lei2C.Speichern(); }
/// <summary> /// Importiert die Klassen aus einer CSV-Datei --> erstellt daraus die Klassenobjekte--> speichert diese in die Datenbank /// </summary> /// <param name="pfad">Pfad der Klassendatei</param> /// <param name="schule">Zugehörige Schule</param> public static Importstatistik ImportKlassen(string pfad, Schule schule) { string[] tmp; int ok = 0; List <Exception> fehler = new List <Exception>(); Lehrer dummy = new Lehrer() { Vorname = "-", Nachname = "-", Kuerzel = "-", Dienstbezeichnung = "DUMMY", }; dummy = DBZugriff.Current.SelectFirstOrDefault <Lehrer>(x => x.Vorname == dummy.Vorname && x.Nachname == dummy.Nachname && x.Kuerzel == dummy.Kuerzel && x.Dienstbezeichnung == dummy.Dienstbezeichnung ) ?? dummy; dummy.Speichern(); foreach (string s in ReadAllLines(pfad)) { try { tmp = s.Split(','); int sid = Convert.ToInt32(tmp[0]); // Falls es sich nicht um eine Schuljahresspalte handelt (z.B. bei falsch angegebener Datei) if (!tmp[2].Contains('/')) { throw new FormatException("/ fehlt!"); } Klasse klasse = DBZugriff.Current.SelectFirstOrDefault <Klasse>(x => x.SID == sid); klasse = klasse ?? new Klasse(); klasse.SID = sid; klasse.Bez = tmp[1]; klasse.SJ = Convert.ToInt32(tmp[2].Split('/')[0]); klasse.Schule = schule; klasse.Klassenleiter = dummy; klasse.StellvertretenderKlassenleiter = dummy; DBZugriff.Current.Speichern(klasse, false); ok++; } catch (Exception e) { fehler.Add(e); } } if (ok == 0) { throw new FileFormatException("Die Datei hat das falsche Format für den angegebenen Dateityp!"); } DBZugriff.Current.Save(); return(new Importstatistik() { Bez = "Klassen", OkCount = ok, Fehler = fehler, }); }