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)); } }
public async System.Threading.Tasks.Task <ActionResult <Gebruiker> > Put(int id, LidDTO dto) { try { if (dto.Type.ToLower().Equals("lid")) { Lid lid = (Lid)_gebruikerRepository.GetBy(id); if (lid == null) { throw new Exception("Gebruiker kon niet worden gevonden!"); } initialiseerAttributenLid(lid, dto); initialiseerAttributenGebruiker(lid, dto); _gebruikerRepository.SaveChanges(); return(lid); } else { if (dto.Type.ToLower().Equals("nietlid")) { NietLid nietLid = (NietLid)_gebruikerRepository.GetBy(id); if (nietLid == null) { throw new Exception("Gebruiker kon niet worden gevonden!"); } nietLid.Graad = dto.Graad; nietLid = (NietLid)initialiseerAttributenGebruiker(nietLid, dto); _gebruikerRepository.SaveChanges(); return(nietLid); } if (dto.Type.ToLower().Equals("beheerder")) { Beheerder beheerder = (Beheerder)_gebruikerRepository.GetBy(id); if (beheerder == null) { throw new Exception("Gebruiker kon niet worden gevonden!"); } beheerder = (Beheerder)initialiseerAttributenGebruiker(beheerder, dto); beheerder.Graad = dto.Graad; _gebruikerRepository.SaveChanges(); return(beheerder); } if (dto.Type.ToLower().Equals("lesgever")) { Lesgever lesgever = (Lesgever)_gebruikerRepository.GetBy(id); if (lesgever == null) { throw new Exception("Gebruiker kon niet worden gevonden!"); } lesgever = (Lesgever)initialiseerAttributenGebruiker(lesgever, dto); lesgever.Graad = dto.Graad; _gebruikerRepository.SaveChanges(); return(lesgever); } if (dto.Type.ToLower().Equals("oudlid")) { OudLid oudLid = (OudLid)_gebruikerRepository.GetBy(id); if (oudLid == null) { throw new Exception("Gebruiker kon niet worden gevonden!"); } oudLid = (OudLid)initialiseerAttributenGebruiker(oudLid, dto); oudLid.Graad = dto.Graad; _gebruikerRepository.SaveChanges(); return(oudLid); } } return(null); } catch (Exception e) { return(BadRequest(e.Message)); } }