コード例 #1
0
        // 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);
        }