public async Task <ActionResult <Gebruiker> > PostAsync(LesgeverDTO dto) { try { Gebruiker g = new Beheerder(dto.Voornaam, dto.Naam, dto.StraatNaam, dto.Huisnummer, dto.Busnummer, dto.Postcode, dto.Stad, dto.TelefoonNummer, dto.Email, zetDatumOm(dto.Geb), dto.Geslacht, 1); string eMailAddress = dto.Email; IdentityUser user = new IdentityUser { UserName = eMailAddress, Email = eMailAddress }; await _userManager.CreateAsync(user, "Test123@!"); await _userManager.AddClaimAsync(user, new Claim(ClaimTypes.Role, "beheerder")); _gebruikerRepository.Add(g); _gebruikerRepository.SaveChanges(); return(g); } catch (Exception e) { return(BadRequest(e.Message)); } }
public async System.Threading.Tasks.Task <ActionResult <Gebruiker> > PostLidAsync(LidDTO dto) { DateTime inschrijvingsdatum = DateTime.Today; Gebruiker g; try { if (dto.Type.ToLower().Equals("lid")) { g = new Lid(dto.Voornaam, dto.Naam, dto.StraatNaam, dto.Huisnummer, dto.Busnummer, dto.Postcode, dto.Stad, dto.TelefoonNummer, dto.Email, zetDatumOm(dto.Geb), dto.Nationaliteit, dto.EmailOuders, dto.RijksregisterNummer, dto.GeborenTe, dto.Geslacht, inschrijvingsdatum, dto.AkkoordMetHuishoudelijkRegelement, dto.ToestemmingAudioVisueelMateriaal, dto.WenstInfoTeKrijgenOverClubAangelegenheden, dto.WenstInfoTeKrijgenOverFederaleAangelegenhedenEnPromoties, dto.Graad); if (dto.OudType != null) { g.IdApi = dto.IdApi; } _gebruikerRepository.Add(g); _gebruikerRepository.SaveChanges(); string eMailAddress = dto.Email; IdentityUser user = new IdentityUser { UserName = eMailAddress, Email = eMailAddress }; await _userManager.CreateAsync(user, "Test123@!"); await _userManager.AddClaimAsync(user, new Claim(ClaimTypes.Role, dto.Type.ToLower())); _gebruikerRepository.SaveChanges(); return(g); } if (dto.Type.ToLower().Equals("nietlid")) { g = new NietLid(dto.Voornaam, dto.Naam, dto.StraatNaam, dto.Huisnummer, dto.Busnummer, dto.Postcode, dto.Stad, dto.TelefoonNummer, dto.Email, zetDatumOm(dto.Geb), dto.Geslacht); if (dto.OudType != null) { g.IdApi = dto.IdApi; } _gebruikerRepository.Add(g); _gebruikerRepository.SaveChanges(); return(g); } if (dto.Type.ToLower().Equals("beheerder")) { Beheerder beheerder = new Beheerder(dto.Voornaam, dto.Naam, dto.StraatNaam, dto.Huisnummer, dto.Busnummer, dto.Postcode, dto.Stad, dto.TelefoonNummer, dto.Email, zetDatumOm(dto.Geb), dto.Geslacht, dto.Graad); if (dto.OudType != null) { beheerder.IdApi = dto.IdApi; } _gebruikerRepository.Add(beheerder); _gebruikerRepository.SaveChanges(); return(beheerder); } if (dto.Type.ToLower().Equals("lesgever")) { Lesgever lesgever = new Lesgever(dto.Voornaam, dto.Naam, dto.StraatNaam, dto.Huisnummer, dto.Busnummer, dto.Postcode, dto.Stad, dto.TelefoonNummer, dto.Email, zetDatumOm(dto.Geb), dto.Geslacht, dto.Graad); if (dto.OudType != null) { lesgever.IdApi = dto.IdApi; } _gebruikerRepository.Add(lesgever); _gebruikerRepository.SaveChanges(); return(lesgever); } if (dto.Type.ToLower().Equals("oudlid")) { OudLid oudLid = new OudLid(dto.Voornaam, dto.Naam, dto.StraatNaam, dto.Huisnummer, dto.Busnummer, dto.Postcode, dto.Stad, dto.TelefoonNummer, dto.Email, zetDatumOm(dto.Geb), dto.Geslacht); oudLid.Graad = dto.Graad; if (dto.OudType != null) { oudLid.IdApi = dto.IdApi; } _gebruikerRepository.Add(oudLid); _gebruikerRepository.SaveChanges(); return(oudLid); } if (!dto.Type.ToLower().Equals("nietlid")) { string eMailAddress = dto.Email; IdentityUser user = new IdentityUser { UserName = eMailAddress, Email = eMailAddress }; await _userManager.CreateAsync(user, "Test123@!"); await _userManager.AddClaimAsync(user, new Claim(ClaimTypes.Role, dto.Type.ToLower())); _gebruikerRepository.SaveChanges(); } return(null); } catch (Exception e) { return(BadRequest(e.Message)); } }