// Hier werken we met 'Unit of Work' // omdat we informatie uit de data package nodig hebben public void AddAlertInstelling(string filePath) { initNonExistingRepo(true); //sourceUrl /relatief path StreamReader r = new StreamReader(filePath); string json = r.ReadToEnd(); List <Message> alertConfigs = new List <Message>(); dynamic alertInstellingen = JsonConvert.DeserializeObject(json); string user = null; int onderwerpId; int thresh; dataMgr = new DataManager(uowManager); //We laten de transactie eve denken dat we geen 'UoW' gebruiken zodat er niet //van repo gewisseld wordt bij het aanroepen van een nieuwe methode bool UoW = false; repo.setUnitofWork(UoW); IEnumerable <Onderwerp> onderwerpen = dataMgr.ReadOnderwerpen(); foreach (var item in alertInstellingen.records) { user = item.Username; onderwerpId = item.OnderwerpId; thresh = item.Threshold; Gebruiker gebruiker = FindUser(user); Onderwerp onderwerp = onderwerpen.FirstOrDefault(x => x.OnderwerpId == onderwerpId); AlertInstelling alertInst = new AlertInstelling() { ThresholdVal = thresh, AlertState = true, Gebruiker = gebruiker, Onderwerp = onderwerp }; repo.AddingAlertInstelling(alertInst); uowManager.Save(); } //we zetten 'UoW' boolian terug op true UoW = true; repo.setUnitofWork(UoW); }