// We initialiseren een 'Alert' met het toewijzen van een 'AlertInstelling' adhv een 'Id' // ook voegen het moment van creatie toe ('CreatedOn') // 'AlertContent' kan een string zijn met informatie om te verzenden naar een gebruiker public void AddAlert(string alertContent, int alertInstellingId) { initNonExistingRepo(); AlertInstelling alertInstelling = repo.ReadAlertInstelling(alertInstellingId); Alert alert = new Alert() { AlertContent = alertContent, AlertInstelling = alertInstelling, CreatedOn = DateTime.Now }; //alert toevoegen aan de ICollection van 'AlertInstelling' var alertColl = alertInstelling.alerts; if (alertColl != null) { alertInstelling.alerts = alertColl.ToList(); } else { alertInstelling.alerts = new Collection <Alert>(); } alertInstelling.alerts.Add(alert); //eerst alert creëren zodat deze een PK toegewegen krijgt repo.AddingAlert(alert); //dan de AlertInstelling updaten met de nieuwe 'Alert' repo.UpdateAlertInstelling(alertInstelling); }
// 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); }
// We initialiseren een 'Alert' met het toewijzen van een 'AlertInstelling' adhv een 'Id' // ook voegen het moment van creatie toe ('CreatedOn') // 'AlertContent' kan een string zijn met informatie om te verzenden naar een gebruiker public void AddAlert(string alertContent, int alertInstellingId) { InitNonExistingRepo(); IEnumerable <AlertInstelling> fluctuations = repo.ReadValueFluctuations(); List <AlertInstelling> Ais = fluctuations.ToList(); Ais.AddRange(repo.ReadHogerLagers().ToList()); Ais.AddRange(repo.ReadPositiefNegatiefs().ToList()); AlertInstelling ai = Ais.FirstOrDefault(v => v.AlertInstellingId == alertInstellingId); Alert alert = new Alert() { AlertContent = alertContent, AlertInstelling = ai, CreatedOn = DateTime.Now }; //alert toevoegen aan de ICollection van 'AlertInstelling' var alertColl = ai.Alerts; if (alertColl != null) { ai.Alerts = alertColl.ToList(); } else { ai.Alerts = new Collection <Alert>(); } ai.Alerts.Add(alert); //eerst alert creëren zodat deze een PK toegewegen krijgt repo.AddingAlert(alert); //dan de AlertInstelling updaten met de nieuwe 'Alert' repo.UpdateAlertInstelling(ai); }
public void UpdateAlertInstelling(AlertInstelling alertInstelling) => ctx.SaveChanges();
public void AddingAlertInstelling(AlertInstelling alertinstelling) { ctx.AlertInstellingen.Add(alertinstelling); ctx.SaveChanges(); }
public AlertInstelling ReadAlertInstelling(int alertInstellingId) { AlertInstelling alertInstelling = ctx.AlertInstellingen.Find(alertInstellingId); return(alertInstelling); }