private IActionResult RegistreerAdmin(RegistreerGebruikerViewModel adminAanvraag) { if (CheckEmailBestaat(adminAanvraag.Email)) { return(BadRequest(new { error = "Het gekozen emailadres is reeds gekoppeld aan een account" })); } if (CheckGebruikersnaamBestaat(adminAanvraag.Login.Gebruikersnaam)) { return(BadRequest(new { error = "De gekozen gebruikersnaam is reeds gekoppeld aan een account" })); } Administrator nieuweAdmin = new Administrator(); nieuweAdmin.Telefoonnummer = adminAanvraag.Telefoonnummer; nieuweAdmin.Email = adminAanvraag.Email; nieuweAdmin.Voornaam = adminAanvraag.Voornaam; nieuweAdmin.Achternaam = adminAanvraag.Achternaam; nieuweAdmin.Login.Gebruikersnaam = adminAanvraag.Login.Gebruikersnaam; nieuweAdmin.Login.Geactiveerd = false; nieuweAdmin.Login.Salt = MaakSalt(); nieuweAdmin.Login.Hash = MaakHash(adminAanvraag.Login.Wachtwoord, nieuweAdmin.Login.Salt); nieuweAdmin.Login.Rol = _rolRepository.GetByName(adminAanvraag.Login.Rol); nieuweAdmin.Login.gebruiker = nieuweAdmin; _gebruikerRepository.Registreer(nieuweAdmin); return(Ok(new { bericht = "Uw aanvraag om handelaar te worden is succesvol ingediend!" })); }
private IActionResult RegistreerKlant(RegistreerGebruikerViewModel klantAanvraag) { if (CheckEmailBestaat(klantAanvraag.Email)) { return(BadRequest(new { error = "Het gekozen emailadres is reeds gekoppeld aan een account" })); } if (CheckGebruikersnaamBestaat(klantAanvraag.Login.Gebruikersnaam)) { return(BadRequest(new { error = "De gekozen gebruikersnaam is reeds gekoppeld aan een account" })); } Klant nieuweKlant = new Klant(); nieuweKlant.Telefoonnummer = klantAanvraag.Telefoonnummer; nieuweKlant.Email = klantAanvraag.Email; nieuweKlant.Voornaam = klantAanvraag.Voornaam; nieuweKlant.Achternaam = klantAanvraag.Achternaam; nieuweKlant.Login.Gebruikersnaam = klantAanvraag.Login.Gebruikersnaam; nieuweKlant.Login.Geactiveerd = true; nieuweKlant.Login.Salt = MaakSalt(); nieuweKlant.Login.Hash = MaakHash(klantAanvraag.Login.Wachtwoord, nieuweKlant.Login.Salt); nieuweKlant.Login.Rol = _rolRepository.GetByName(klantAanvraag.Login.Rol); nieuweKlant.Login.gebruiker = nieuweKlant; _gebruikerRepository.Registreer(nieuweKlant); return(Ok(new { token = BuildToken(nieuweKlant) })); }
public async Task <IActionResult> Registreer([FromBody] RegistreerGebruikerViewModel gebruikerAanvraag) { //gebruiker model moet bij eender welk type valid zijn if (ModelState.IsValid) { //handelaar if (gebruikerAanvraag.Login.Rol.ToLower() == "handelaar") { try { //handelaarverzoek uit body halen Stream req = Request.Body; req.Seek(0, System.IO.SeekOrigin.Begin); string json = new StreamReader(req).ReadToEnd(); //body converten naar handelaar registratie RegistreerHandelaarViewModel handelaarAanvraag = JObject.Parse(json).ToObject <RegistreerHandelaarViewModel>(); try { return(await RegistreerHandelaarAsync(handelaarAanvraag)); }catch { return(BadRequest(new { error = "Gelieve een geldig adres op te geven." })); } } catch (Exception e) { return(BadRequest(new { error = e })); } } //klant if (gebruikerAanvraag.Login.Rol.ToLower() == "klant") { return(RegistreerKlant(gebruikerAanvraag)); } //admin if (gebruikerAanvraag.Login.Rol.ToLower() == "admin") { return(RegistreerAdmin(gebruikerAanvraag)); } return(BadRequest(new { error = "Het soort gebruiker dat u wilt aanmaken bestaat niet (incorrecte rol)" })); } //Als we hier zijn is is modelstate niet voldaan dus stuur error 400, slechte aanvraag string foutboodschap = string.Join(" | ", ModelState.Values.SelectMany(v => v.Errors).Select(e => e.ErrorMessage)); return(BadRequest(new { error = "De ingevoerde waarden zijn onvolledig of voldoen niet aan de eisen voor een gebruiker. Foutboodschap: " + foutboodschap })); }