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 }));
 }
Exemple #2
0
        /// <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);
        }