Exemplo n.º 1
0
        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!" }));
        }
Exemplo n.º 2
0
        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) }));
        }
Exemplo n.º 3
0
        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 }));
        }