public ActionResult Login(BenutzerLogin benutzerLogin)
        {
            Benutzer benutzer = new Benutzer();

            rep = new RepositoryBenutzer();
            rep.Open();
            benutzer = rep.Login(benutzerLogin);
            rep.Close();

            if (benutzer == null)
            {
                ModelState.AddModelError("Email", "EMail oder Passwort stimmen nicht!");
                return(View(benutzerLogin));
            }
            else
            {
                Session["loggedIn"] = benutzer;
                if (benutzer.Rolle == BenutzerRolle.admin)
                {
                    Session["AdminSession"] = true;
                }
                else
                {
                    Session["AdminSession"] = false;
                }


                return(RedirectToAction("index", "home"));
            }
        }
        //Anmelden
        public IActionResult Anmeldung([FromBody] BenutzerLogin value)
        {
            try
            {
                var           user     = new SqlParameter("i_Benutzer", value.Benutzer);
                var           password = new SqlParameter("i_Passwort", value.Passwort);
                SqlConnection conn     = new SqlConnection(_configuration["ConnectionString"]);
                SqlCommand    cmd      = new SqlCommand("EXECUTE dbo.pda_Anmelden @i_Benutzer, @i_Passwort", conn);
                cmd.Parameters.Add(user);
                cmd.Parameters.Add(password);

                SqlDataAdapter da = new SqlDataAdapter(cmd);
                DataSet        ds = new DataSet();
                conn.Open();
                da.Fill(ds);
                conn.Close();
                Anmelden result;
                if (ds.Tables[0].Rows.Count > 0)
                {
                    DataRow row = ds.Tables[0].Rows[0];
                    result = new Anmelden()
                    {
                        Fehler        = (int)row["Fehler"],
                        FehlerMeldung = row["Fehlermeldung"].ToString(),
                        Session       = (int)row["SessionID"],
                        Stufe         = (int)row["Stufe"]
                    };
                }
                else
                {
                    result = new Anmelden();
                }

                return(Ok(result));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.ToString()));
            }
        }
        public Benutzer Login(BenutzerLogin user)
        {
            DbCommand cmdLogin = this._connection.CreateCommand();

            cmdLogin.CommandText = "SELECT * FROM users WHERE email=@email AND password =sha2(@password, 256)";

            DbParameter paramEmail = cmdLogin.CreateParameter();

            paramEmail.ParameterName = "email";
            paramEmail.Value         = user.Email;
            paramEmail.DbType        = DbType.String;

            DbParameter paramPassword = cmdLogin.CreateParameter();

            paramPassword.ParameterName = "password";
            paramPassword.Value         = user.Password;
            paramPassword.DbType        = DbType.String;

            cmdLogin.Parameters.Add(paramEmail);
            cmdLogin.Parameters.Add(paramPassword);

            using (DbDataReader reader = cmdLogin.ExecuteReader())
            {
                if (!reader.HasRows)
                {
                    return(null);
                }

                reader.Read();
                return(new Benutzer
                {
                    ID = Convert.ToInt32(reader["id"]),
                    Firstname = Convert.ToString(reader["firstname"]),
                    Lastname = Convert.ToString(reader["lastname"]),
                    Email = Convert.ToString(reader["email"]),
                    Rolle = (BenutzerRolle)Convert.ToInt32(reader["userRole"]),
                    Password = ""
                });
            }
        }