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 })); }
/// <summary> /// Erstellt einen neuen Benutzer in der Datenbank. Dafür wird ein Salt generiert und der /// Hash des Passwortes berechnet. /// Wird eine PupilId übergeben, so wird die Rolle "Pupil" zugewiesen, ansonsten "Teacher". /// </summary> /// <param name="user"></param> /// <returns></returns> public User CreateUser(ApplicationUser user) { string salt = GenerateSalt(); User newUser = new User { U_Name = user.Username, U_Salt = salt, U_Hash = CalculateHash(user.Password, salt), U_Schueler_NrNavigation = db.Schueler.Find(user.PupilId) }; // Zur Demonstrationszwecken weisen wir wenn keine Schülernummer zugewiesen wurde // die Rolle Teacher zu. newUser.U_Role = user.PupilId == null ? "Teacher" : "Pupil"; db.Entry(newUser).State = Microsoft.EntityFrameworkCore.EntityState.Added; db.SaveChanges(); return(newUser); }