public void AddingTewerkstelling(Tewerkstelling tewerkstelling) { ctx.Tewerkstellingen.Add(tewerkstelling); ctx.SaveChanges(); }
public void AddTewerkstelling(string naam, string naamOrganisatie) { initNonExistingRepo(); Persoon persoon; Organisatie organisatie; //lijst personen en organisaties opvragen IEnumerable <Persoon> personen = repo.ReadPersonen(); IEnumerable <Organisatie> organisaties = repo.ReadOrganisaties(); //kijken of persoon en organisatie bestaan bool ifExistsP = personen.Any(x => x.Naam == naam); bool ifExistsO = organisaties.Any(x => x.NaamOrganisatie == naamOrganisatie); //persoon & organisatie initialiseren if (ifExistsP) { persoon = personen.FirstOrDefault(x => x.Naam == naam); } else { throw new ArgumentException("Persoon '" + naam + "' not found!"); } if (ifExistsO) { organisatie = organisaties.FirstOrDefault(x => x.NaamOrganisatie == naamOrganisatie); } else { throw new ArgumentException("Organisatie '" + naamOrganisatie + "' not found!"); } //'Tewerkstelling' initialiseren Tewerkstelling tewerkstelling = new Tewerkstelling() { Persoon = persoon, Organisatie = organisatie }; //Tewerkstelling toevoegen aan de ICollection van 'Persoon' var persoonColl = persoon.Tewerkstellingen; if (persoonColl != null) { persoon.Tewerkstellingen = persoonColl.ToList(); } else { persoon.Tewerkstellingen = new Collection <Tewerkstelling>(); } persoon.Tewerkstellingen.Add(tewerkstelling); //Tewerkstelling toevoegen aan de ICollection van 'Organisatie' var organisatieColl = organisatie.Tewerkstellingen; if (organisatieColl != null) { organisatie.Tewerkstellingen = organisatieColl.ToList(); } else { organisatie.Tewerkstellingen = new Collection <Tewerkstelling>(); } organisatie.Tewerkstellingen.Add(tewerkstelling); //eerst tewerkstelling creƫren zodat deze een PK toegewegen krijgt repo.AddingTewerkstelling(tewerkstelling); //dan de persoon & organisatie updaten met de nieuwe 'Tewerkstelling' //Todo: misschien gewoon een UpdateContext maken repo.UdateOnderwerp(persoon); }