public static GebruikerDepartement koppelGebruikerAanDepartement(Gebruiker gebruiker, Departement departement) { GebruikerDepartement gebruikerDepartement = new GebruikerDepartement(gebruiker, departement); gebruiker.GebruikerDepartementen.Add(gebruikerDepartement); departement.GebruikerDepartementen.Add(gebruikerDepartement); return gebruikerDepartement; }
public void InsertOrUpdate(Gebruiker gebruiker) { if (gebruiker.Id == default(int)) { // New entity context.Gebruikers.Add(gebruiker); } else { // Existing entity context.Entry(gebruiker).State = EntityState.Modified; } }
public JsonResult Update(Gebruiker gebruiker) { try { gebruikerService.Update(gebruiker); return Json(new { Result = "OK" }); } catch (Exception ex) { return Json(new { Result = "ERROR", Message = "Kon gebruiker niet aanpassen: " + ex.Message }); } }
public JsonResult Create(Gebruiker gebruiker) { try { gebruikerService.Nieuw(gebruiker); var jsonGebruiker = new { Id = gebruiker.Id, Achternaam = gebruiker.Achternaam, Voornaam = gebruiker.Voornaam, Rol = gebruiker.Rol, Login = gebruiker.Login }; return Json(new { Result = "OK", Record = jsonGebruiker }); } catch (Exception ex) { return Json(new { Result = "ERROR", Message = "Kon geen gebruiker aanmaken: " + ex.Message }); } }
public void Nieuw(Gebruiker gebruiker) { ApplicationUser appUser = new ApplicationUser() { UserName = gebruiker.Login }; uow.IdentityManager.CreateUser(appUser, gebruiker.Login); gebruiker.User = appUser; uow.GebruikerRepository.InsertOrUpdate(gebruiker); uow.saveChanges(); uow.IdentityManager.AddUserToRole(appUser.Id, gebruiker.rolString()); appUser.GebruikerId = gebruiker.Id; uow.saveChanges(); }
public GebruikerKlantViewModel GebruikerKlantViewModel(Gebruiker gebruiker) { GebruikerKlantViewModel gkvm = new GebruikerKlantViewModel(); if(gebruiker != null) { if (gebruiker.Rol == Rol.ADMINISTRATOR) { gkvm.setDepartementen(uow.DepartementRepository.All); } if (gebruiker.Rol == Rol.DEPARTEMENT_ADMINISTRATOR) { gkvm.setDepartementen(gebruiker.Departementen()); } } return gkvm; }
public IEnumerable<GebruikerDepartement> alleGebruikerDepartementenVoor(Gebruiker gebruiker, int departementId) { IEnumerable<GebruikerDepartement> gebruikerDepartementen = new List<GebruikerDepartement>(); Departement departement = uow.DepartementRepository.Find(departementId); if (gebruiker != null && departement != null) { if (gebruiker.Rol == Rol.ADMINISTRATOR || gebruiker.Rol == Rol.DEPARTEMENT_ADMINISTRATOR) { gebruikerDepartementen = departement.GebruikerDepartementen; } if (gebruiker.Rol == Rol.USER) { gebruikerDepartementen = gebruiker.GebruikerDepartementen.Where(gd => gd.Departement.Equals(departement)); } } return gebruikerDepartementen; }
public UurRegistratieViewModel UurRegistratieViewModel(Gebruiker gebruiker, bool gefactureerd) { UurRegistratieViewModel gkvm = new UurRegistratieViewModel(); gkvm.Gefactureerd = gefactureerd; if (gebruiker != null) { if (gebruiker.Rol == Rol.ADMINISTRATOR) { gkvm.setDepartementen(uow.DepartementRepository.All); } if (gebruiker.Rol == Rol.DEPARTEMENT_ADMINISTRATOR || gebruiker.Rol == Rol.USER) { gkvm.setDepartementen(gebruiker.Departementen()); } } return gkvm; }
public KlantViewModel KlantViewModel(Gebruiker gebruiker) { KlantViewModel kvm = new KlantViewModel(); kvm.Klant = new Klant(); if (gebruiker != null) { if (gebruiker.Rol == Rol.ADMINISTRATOR) { IEnumerable<Departement> alleDepartementen = uow.DepartementRepository.All; kvm.setDepartementen(alleDepartementen); } if (gebruiker.Rol == Rol.DEPARTEMENT_ADMINISTRATOR) { kvm.setDepartementen(gebruiker.Departementen()); } } return kvm; }
public IEnumerable<Klant> AlleKlanten(Gebruiker gebruiker) { List<Klant> alleKlanten = new List<Klant>(); if (gebruiker != null) { if (gebruiker.Rol == Rol.ADMINISTRATOR) { alleKlanten = uow.KlantRepository.All.ToList(); } if (gebruiker.Rol == Rol.DEPARTEMENT_ADMINISTRATOR) { foreach (Departement dep in gebruiker.Departementen()) { alleKlanten.AddRange(dep.Klanten()); } } } return alleKlanten; }
public IEnumerable<Departement> AlleMogelijkeDepartementen(Gebruiker gebruiker) { List<Departement> departementen = new List<Departement>(); IEnumerable<DepartementKlant> alleDepartementKlanten = uow.DepartementKlantRepository.All; if (gebruiker != null) { if (gebruiker.Rol == Rol.ADMINISTRATOR) { departementen.AddRange(alleDepartementKlanten.Select(dk => dk.Departement).Distinct()); } if (gebruiker.Rol == Rol.DEPARTEMENT_ADMINISTRATOR) { IEnumerable<Departement> depsVanGebruiker = gebruiker.Departementen(); departementen.AddRange( alleDepartementKlanten.Select(dk => dk.Departement) .Where(d => depsVanGebruiker.Contains(d)) .Distinct()); } } return departementen; }
private GebruikerDepartement(Gebruiker gebruiker, Departement departement) { Gebruiker = gebruiker; GebruikerId = gebruiker.Id; Departement = departement; DepartementId = departement.Id; }
public void OntkoppelDepartementVanKlant(int departementId, int klantId, Gebruiker gebruiker) { Klant klant = uow.KlantRepository.Find(klantId); Departement departement = uow.DepartementRepository.Find(departementId); if (klant == null || departement == null) { throw new Exception("Klant of departement onbekend"); } if (klant.DepartementKlanten.Count < 2) { throw new Exception("Een klant moet minstens aan één departement gekoppeld zijn"); } if (gebruiker.Rol == Rol.DEPARTEMENT_ADMINISTRATOR) { if (!gebruiker.Departementen().Contains(departement)) { throw new Exception("Als departement administrator kan je enkel klanten ontkoppelen van je eigen departementen"); } } DepartementKlant ontkoppeld = klant.OntkoppelVanDepartement(departement); uow.DepartementKlantRepository.Delete(ontkoppeld.Id); uow.saveChanges(); }
public void Delete(int klantId, Gebruiker gebruiker) { Klant klant = uow.KlantRepository.Find(klantId); if (klant == null) { throw new Exception("Geen klant gevonden"); } if (!klant.Verwijderbaar()) { throw new Exception("De Klant is niet verwijderbaar omdat er al uurregistraties en/of facturen aan gekoppeld zijn"); } List<DepartementKlant> departementKlanten = klant.DepartementKlanten.ToList(); List<GebruikerKlant> gebruikerKlanten = klant.GebruikerKlanten(); if (gebruiker.Rol == Rol.DEPARTEMENT_ADMINISTRATOR) { IEnumerable<Departement> klantDepartementen = departementKlanten.Select(dk => dk.Departement); IEnumerable<Departement> gebruikerDepartementen = gebruiker.Departementen(); if (klantDepartementen.Except(gebruikerDepartementen).Count() > 0) { throw new Exception("Als departement administrator kan je geen klanten verwijderen die koppelingen hebben met departementen waar je niet voor bevoegd bent"); } } gebruikerKlanten.Select(gk => gk.Id).ToList().ForEach( id => uow.GebruikerKlantRepository.Delete(id) ); departementKlanten.Select(dk => dk.Id).ToList().ForEach( id => uow.DepartementKlantRepository.Delete(id) ); uow.KlantRepository.Delete(klantId); uow.saveChanges(); }
public IEnumerable<Departement> MogelijkeDepartementenKlantGebruiker(int klantId, Gebruiker gebruiker) { Klant klant = uow.KlantRepository.Find(klantId); if (klant == null || gebruiker == null) { throw new Exception("Klant of gebruiker onbekend"); } IEnumerable<Departement> result = null; IEnumerable<Departement> alleDepartementen = uow.DepartementRepository.All; IEnumerable<Departement> klantDepartementen = klant.Departementen(); if (gebruiker.Rol == Rol.ADMINISTRATOR) { result = alleDepartementen.Except(klantDepartementen); } if (gebruiker.Rol == Rol.DEPARTEMENT_ADMINISTRATOR) { IEnumerable<Departement> gebruikerDepartementen = gebruiker.Departementen(); result = gebruikerDepartementen.Except(klantDepartementen); } return result; }
public void Update(Gebruiker gebruiker) { // Login mag niet geüpdatet worden waardoor de Login property van het argument gebruiker 'null' is // => Eerst oude Login waarde terug zetten Gebruiker oud = uow.Context.Gebruikers.AsNoTracking().Single(g => g.Id == gebruiker.Id); gebruiker.Login = oud.Login; uow.GebruikerRepository.InsertOrUpdate(gebruiker); ApplicationUser appUser = null; try { appUser = uow.Context.Users.Single(u => u.GebruikerId == gebruiker.Id); } catch (Exception ex) { throw new Exception(String.Format("Fout met relatie Gebruiker - User: {0}", ex.Message)); } if (appUser != null) { uow.IdentityManager.ClearUserRoles(appUser.Id); uow.IdentityManager.AddUserToRole(appUser.Id, gebruiker.rolString()); } uow.saveChanges(); }