public ActionResult Alerts(bool checkEmailA, bool checkNotificatieA, bool checkAndroidA, string search1, string search2)
        {
            HogerLager hl = new HogerLager();

            hl.Email              = checkEmailA;
            hl.NotificationWeb    = checkNotificatieA;
            hl.MobileNotification = checkNotificatieA;
            return(View("~/Views/Home/Index.cshtml"));
        }
Пример #2
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
            string         json         = new StreamReader(filePath).ReadToEnd();
            List <Message> alertConfigs = new List <Message>();

            dynamic alertInstellingen = JsonConvert.DeserializeObject(json);

            //string user = null;
            //bool notificationWeb;
            //bool email;
            //bool mobileNotification;
            //bool state;
            //int onderwerpId;
            //int onderwerpId2;
            //int thresh;
            //bool negatief;


            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)
            {
                if (item.Threshold != null)
                {
                    ValueFluctuation vf = new ValueFluctuation()
                    {
                        Gebruiker          = FindUser((String)item.Username),
                        NotificationWeb    = (bool)item.NotificationWeb,
                        Email              = (bool)item.Email,
                        MobileNotification = (bool)item.MobileNotification,
                        AlertState         = true,
                        Onderwerp          = onderwerpen.FirstOrDefault(x => x.OnderwerpId == (int)item.OnderwerpId),
                        ThresholdValue     = item.Threshold
                    };
                    repo.AddingAlertInstelling(vf);
                }
                else if (item.OnderwerpId2 != null)
                {
                    HogerLager hl = new HogerLager()
                    {
                        Gebruiker          = FindUser((String)item.Username),
                        NotificationWeb    = (bool)item.NotificationWeb,
                        Email              = (bool)item.Email,
                        MobileNotification = (bool)item.MobileNotification,
                        AlertState         = true,
                        Onderwerp          = onderwerpen.FirstOrDefault(x => x.OnderwerpId == (int)item.OnderwerpId),
                        Onderwerp2         = onderwerpen.FirstOrDefault(x => x.OnderwerpId == (int)item.OnderwerpId2)
                    };
                    repo.AddingAlertInstelling(hl);
                }
                else
                {
                    PositiefNegatief pn = new PositiefNegatief()
                    {
                        Gebruiker          = FindUser((String)item.Username),
                        NotificationWeb    = (bool)item.NotificationWeb,
                        Email              = (bool)item.Email,
                        MobileNotification = (bool)item.MobileNotification,
                        AlertState         = true,
                        Onderwerp          = onderwerpen.FirstOrDefault(x => x.OnderwerpId == (int)item.OnderwerpId),
                        negatief           = (bool)item.Negatief
                    };
                    repo.AddingAlertInstelling(pn);
                }


                uowManager.Save();
            }
            //we zetten 'UoW' boolian terug op true
            UoW = true;
            repo.SetUnitofWork(UoW);
        }