예제 #1
0
        public void BerekenVasteGrafiekenAlleEntiteiten()
        {
            initNonExistingRepo();
            List <Entiteit> alleEntiteiten = entiteitRepository.getAlleEntiteiten();
            DateTime        vandaag        = new DateTime(2018, 04, 01);

            foreach (var e in alleEntiteiten)
            {
                Grafiek postFrequentie = new Grafiek()
                {
                    Naam    = "Post Frequentie - " + e.Naam,
                    Waardes = new List <GrafiekWaarde>()
                };
                vandaag = new DateTime(2018, 04, 01);
                for (int i = 0; i < 30; i++)
                {
                    GrafiekWaarde waarde = new GrafiekWaarde();
                    waarde.Naam   = vandaag.ToShortDateString();
                    waarde.Waarde = e.Posts.Where(x => x.Date.Date == vandaag.Date).Count();
                    vandaag       = vandaag.AddDays(1);
                    postFrequentie.Waardes.Add(waarde);
                }
                e.Grafieken.Clear();
                e.Grafieken.Add(postFrequentie);
                entiteitRepository.updateEntiteit(e);
            }
        }
예제 #2
0
        public Grafiek getGrafiek(int itemId)
        {
            Grafiek grafiek = context.Grafieken.Include(g => g.Dataconfigs).FirstOrDefault(g => g.Id == itemId);

            grafiek.Dataconfigs = getGrafiekDataConfig(grafiek);
            return(grafiek);
        }
예제 #3
0
        public void updateGrafiek(int id)
        {
            initNonExistingRepo();
            Grafiek grafiekToUpdate = postRepository.GetAllGrafieken().Single(x => x.GrafiekId == id);

            BerekenGrafiekWaarde(grafiekToUpdate.Type, null);
        }
예제 #4
0
        public void UpdateGrafiek(List <int> EntiteitIds, Grafiek grafiek)
        {
            initNonExistingRepo(true);
            EntiteitManager entiteitManager = new EntiteitManager(uowManager);

            Grafiek         grafiekToUpdate = GetGrafiek(grafiek.GrafiekId);
            List <Entiteit> entiteiten      = new List <Entiteit>();

            grafiekToUpdate.Entiteiten.Clear();
            foreach (var i in EntiteitIds)
            {
                var e = postRepository.getAlleEntiteiten().Single(x => x.EntiteitId == i);
                entiteiten.Add(e);
                grafiekToUpdate.Entiteiten.Add(e);
            }

            grafiekToUpdate.Waardes      = BerekenGrafiekWaardes(grafiekToUpdate.CijferOpties, entiteiten);
            grafiekToUpdate.Naam         = grafiek.Naam;
            grafiekToUpdate.GrafiekSoort = grafiek.GrafiekSoort;

            //grafiekToUpdate.Entiteiten = entiteiten;
            //entiteiten.Clear();
            //grafiekToUpdate.Entiteiten.Add(entiteitManager.getEntiteit(4));
            postRepository.UpdateGrafiek(grafiekToUpdate);
            uowManager.Save();
        }
 public void DeleteGrafiek(int ID)
 {
     try
     {
         Grafiek grafiek = ReadGrafieken().FirstOrDefault(g => g.ID == ID);
         ctx.Grafieken.Remove(grafiek);
         ctx.SaveChanges();
     }
     catch (Exception e) { }
 }
예제 #6
0
        public void UpdateGrafiek(int grafiekId)
        {
            initNonExistingRepo(true);
            PostManager postManager     = new PostManager(uowManager);
            Grafiek     grafiekToUpdate = postManager.GetGrafiek(grafiekId);

            grafiekToUpdate.Waardes = postManager.BerekenGrafiekWaardes(grafiekToUpdate.CijferOpties, grafiekToUpdate.Entiteiten);
            //postManager.UpdateGrafiek(grafiekToUpdate);
            uowManager.Save();
        }
예제 #7
0
        public void addGrafiek(Grafiek grafiek)
        {
            List <ValidationResult> errors = new List <ValidationResult>();
            bool valid = Validator.TryValidateObject(grafiek, new ValidationContext(grafiek), errors, true);

            if (valid)
            {
                context.Grafieken.Add(grafiek);
                context.SaveChanges();
            }
        }
예제 #8
0
        public List <DataConfig> getGrafiekDataConfig(Grafiek grafiek)
        {
            List <DataConfig> dataConfigs = new List <DataConfig>();

            foreach (DataConfig dataconfig in grafiek.Dataconfigs)
            {
                DataConfig grafiekconfig = context.DataConfigs.Include(dc => dc.Element).Include(dc => dc.Filters).Include(dc => dc.Vergelijking).Where(dc => dc.DataConfiguratieId == dataconfig.DataConfiguratieId).FirstOrDefault();
                dataConfigs.Add(grafiekconfig);
            }

            return(dataConfigs);
        }
예제 #9
0
        public Grafiek createGrafiek(Grafiek grafiek)
        {
            initNonExistingRepo();

            dashboardRepository.addGrafiek(grafiek);

            if (uowManager != null)
            {
                uowManager.Save();
            }
            return(grafiek);
        }
예제 #10
0
        public ActionResult Grafiek(Grafiek grafiek)
        {
            IDashboardManager dashboardManager = new DashboardManager();

            if (grafiek.Dataconfigs == null || grafiek.Dataconfigs.Count == 0)
            {
                grafiek = dashboardManager.getGrafiek(grafiek.Id);
            }
            var grafiekData = dashboardManager.getGraphData(grafiek);

            ViewBag.grafiekData = grafiekData;
            return(PartialView("DashboardPartials/GrafiekPartial", grafiek));
        }
        public virtual ActionResult Wijzig(int id)

        {
            List <Persoon> personen = berichtMng.GetPersonen().ToList();

            personen.Sort((p1, p2) => p1.Naam.CompareTo(p2.Naam));
            Grafiek gr = grafiekenMng.GetGrafieken().FirstOrDefault(g => g.ID == id);

            /*wijzigGrafiekModel model = new wijzigGrafiekModel()
             * {
             * personen = personen,
             * grafiek = grafiekenMng.GetGrafieken().FirstOrDefault(g => g.ID == id)
             * };*/
            As xAsBar = new As()
            {
                IsUsed = true
            };
            NieuweGrafiekModel model = new NieuweGrafiekModel()
            {
                Bar         = new Bar(0, "PREVIEW STAAF", xAsBar, new List <Serie>()),
                Line        = new Lijn(1, "PREVIEW LIJN", new As(), new List <Serie>()),
                Pie         = new Pie(2, "PREVIEW TAART", new Serie()),
                Personen    = personen,
                isGewijzigd = true
            };

            switch (gr.Chart.Type)
            {
            case "normal":
                model.Line = gr;
                break;

            case "pie":
                model.Pie = gr;
                break;

            case "column":
                model.Bar = gr;
                break;
            }

            return(View("Index", model));
        }
예제 #12
0
        public static List <Item> GetTestItems(string deelplatform)
        {
            UnitOfWorkManager uowmgr          = new UnitOfWorkManager();
            IPlatformManager  platformManager = new PlatformManager(uowmgr);
            IElementManager   elementManager  = new ElementManager(uowmgr);
            List <Item>       testItems       = new List <Item>();

            Grafiek bar = new Grafiek()
            {
                GrafiekType      = GrafiekType.BAR,
                AantalDataPoints = 12,
                Id          = 200,
                Dataconfigs = new List <DataConfig>()
                {
                    new DataConfig()
                    {
                        Element = elementManager.getElementByNaam("Bart De Wever", platformManager.getDeelplatformByNaam(deelplatform)),
                        Label   = "testBar1",
                        Filters = new List <Filter>()
                        {
                            new Filter()
                            {
                                IsPositive = true,
                                Type       = FilterType.SENTIMENT
                            }
                        }
                    },
                    new DataConfig()
                    {
                        Element = elementManager.getElementByNaam("Bart De Wever", platformManager.getDeelplatformByNaam(deelplatform)),
                        Label   = "testBar2",
                        Filters = new List <Filter>()
                        {
                            new Filter()
                            {
                                IsPositive = false,
                                Type       = FilterType.SENTIMENT
                            }
                        }
                    }
                },
                DataType        = DataType.TOTAAL,
                Size            = 2,
                X               = 1,
                Y               = 1,
                TijdschaalTicks = new TimeSpan(0, 12, 0, 0, 0).Ticks,
                Titel           = "testBar"
            };

            testItems.Add(bar);
            Grafiek pie = new Grafiek()
            {
                GrafiekType      = GrafiekType.PIE,
                AantalDataPoints = 12,
                Id          = 201,
                Dataconfigs = new List <DataConfig>()
                {
                    new DataConfig()
                    {
                        Element = elementManager.getElementByNaam("Bart De Wever", platformManager.getDeelplatformByNaam(deelplatform)),
                        Label   = "testBar1",
                        Filters = new List <Filter>()
                        {
                            new Filter()
                            {
                                IsPositive = true,
                                Type       = FilterType.SENTIMENT
                            }
                        }
                    },
                    new DataConfig()
                    {
                        Element = elementManager.getElementByNaam("Bart De Wever", platformManager.getDeelplatformByNaam(deelplatform)),
                        Label   = "testBar2",
                        Filters = new List <Filter>()
                        {
                            new Filter()
                            {
                                IsPositive = false,
                                Type       = FilterType.SENTIMENT
                            }
                        }
                    }
                },
                DataType        = DataType.TOTAAL,
                Size            = 2,
                X               = 1,
                Y               = 1,
                TijdschaalTicks = new TimeSpan(0, 12, 0, 0, 0).Ticks,
                Titel           = "testPie"
            };

            testItems.Add(pie);

            Grafiek line = new Grafiek()
            {
                GrafiekType      = GrafiekType.LINE,
                AantalDataPoints = 12,
                Id          = 203,
                Dataconfigs = new List <DataConfig>()
                {
                    new DataConfig()
                    {
                        Element = elementManager.getElementByNaam("Bart De Wever", platformManager.getDeelplatformByNaam(deelplatform)),
                        Label   = "testBar1",
                        Filters = new List <Filter>()
                        {
                            new Filter()
                            {
                                IsPositive = true,
                                Type       = FilterType.SENTIMENT
                            }
                        }
                    },
                    new DataConfig()
                    {
                        Element = elementManager.getElementByNaam("Bart De Wever", platformManager.getDeelplatformByNaam(deelplatform)),
                        Label   = "testBar2",
                        Filters = new List <Filter>()
                        {
                            new Filter()
                            {
                                IsPositive = false,
                                Type       = FilterType.SENTIMENT
                            }
                        }
                    }
                },
                DataType        = DataType.TOTAAL,
                Size            = 2,
                X               = 1,
                Y               = 1,
                TijdschaalTicks = new TimeSpan(0, 12, 0, 0, 0).Ticks,
                Titel           = "testLine"
            };

            testItems.Add(line);

            return(testItems);
        }
예제 #13
0
        public void addGrafiek(Grafiek grafiek)
        {
            initNonExistingRepo();

            dashboardRepository.addGrafiek(grafiek);
        }
예제 #14
0
        public ActionResult CreateItem(FormCollection form)
        {
            UnitOfWorkManager uowMgr           = new UnitOfWorkManager();
            IDashboardManager dashboardManager = new DashboardManager(uowMgr);
            IElementManager   elementManager   = new ElementManager(uowMgr);
            Grafiek           grafiek          = new Grafiek()
            {
                Dataconfigs = new List <DataConfig>()
            };
            var itemtype      = form["ItemType"];
            var interval      = form["Interval"];
            var dataType      = form["DataType"];
            var elementForm   = form["elementen"];
            var zoneId        = Int32.Parse(form["Zone"]);
            var age           = form["Age"];
            var geslacht      = form["Geslacht"];
            var sentiment     = form["Sentiment"];
            var retweet       = form["Retweet"];
            var personaliteit = form["Personaliteit"];
            var opleiding     = form["Opleiding"];

            Zone zone = dashboardManager.getZone(zoneId);

            string[] elementNamen;

            if (elementForm != null)
            {
                elementNamen = elementForm.Split(',');
            }
            else
            {
                elementNamen = new string[] { "" };
            }
            List <DataConfig> dataConfigs = new List <DataConfig>();

            if (elementNamen[0] != "")
            {
                int id = 0;
                foreach (string elementNaam in elementNamen)
                {
                    List <DataConfig> allDataConfigs = new List <DataConfig>();
                    DataConfig        baseConfig     = new DataConfig()
                    {
                        Element            = elementManager.getElementByNaam(elementNaam, Deelplatform),
                        Filters            = new List <Domain.Dashboards.Filter>(),
                        Vergelijking       = null,
                        DataConfiguratieId = id
                    };
                    id++;
                    dataConfigs.Add(baseConfig);
                }

                //dataConfigs = filterConfigs(dataConfigs, FilterType.AGE, age);
                //dataConfigs = filterConfigs(dataConfigs, FilterType.GESLACHT, geslacht);
                //dataConfigs = filterConfigs(dataConfigs, FilterType.RETWEET, retweet);
                //dataConfigs = filterConfigs(dataConfigs, FilterType.SENTIMENT, sentiment);
                //dataConfigs = filterConfigs(dataConfigs, FilterType.PERSONALITEIT, personaliteit);
                //dataConfigs = filterConfigs(dataConfigs, FilterType.OPLEIDING, opleiding);
                grafiek.Dataconfigs.AddRange(dataConfigs);
            }
            switch (dataType)
            {
            case "Totaal":
                grafiek.DataType = DataType.TOTAAL;
                break;

            case "Trend":
                grafiek.DataType = DataType.PERCENTAGE;
                break;

            default:
                break;
            }
            switch (itemtype)
            {
            case "Line":
                grafiek.GrafiekType = GrafiekType.LINE;
                break;

            case "Bar":
                grafiek.GrafiekType = GrafiekType.BAR;
                break;

            case "Pie":
                grafiek.GrafiekType = GrafiekType.PIE;
                break;

            default:
                break;
            }
            switch (interval)
            {
            case "12u":
                grafiek.TijdschaalTicks  = new TimeSpan(12, 0, 0).Ticks;
                grafiek.AantalDataPoints = 12;
                break;

            case "24u":
                grafiek.TijdschaalTicks  = new TimeSpan(24, 0, 0).Ticks;
                grafiek.AantalDataPoints = 24;
                break;

            case "7d":
                grafiek.TijdschaalTicks  = new TimeSpan(7, 0, 0, 0).Ticks;
                grafiek.AantalDataPoints = 7;
                break;

            case "30d":
                grafiek.TijdschaalTicks  = new TimeSpan(30, 0, 0, 0).Ticks;
                grafiek.AantalDataPoints = 30;
                break;

            default:
                break;
            }
            grafiek.Zone = zone;
            dashboardManager.createGrafiek(grafiek);
            uowMgr.Save();
            return(RedirectToAction("Index"));
        }
예제 #15
0
 public void DeleteGrafiek(Grafiek grafiek)
 {
     context.Grafieken.Remove(grafiek);
     context.SaveChanges();
 }
예제 #16
0
 public void RemoveGebruiker(Grafiek grafiek)
 {
     repository.DeleteGrafiek(grafiek);
 }
예제 #17
0
        public void AddUserGrafiek(List <CijferOpties> opties, List <int> entiteitIds, GrafiekType grafiekType, int platId, string IdentityId, string naam, GrafiekSoort grafiekSoort)
        {
            initNonExistingRepo(true);
            EntiteitManager entiteitManager = new EntiteitManager(uowManager);
            IPostManager    postManager     = new PostManager(uowManager);
            List <Entiteit> entiteiten      = new List <Entiteit>();

            Account user = accountRepository.ReadAccount(IdentityId);

            //geselecteerde entiteiten opzoeken
            foreach (var i in entiteitIds)
            {
                entiteiten.Add(entiteitManager.getEntiteit(i));
            }

            //nieuwe grafiek aanmaken
            Grafiek grafiek = new Grafiek()
            {
                CijferOpties = opties,
                Entiteiten   = entiteiten,
                Type         = grafiekType,
                Waardes      = new List <GrafiekWaarde>(),
                Naam         = naam,
                GrafiekSoort = grafiekSoort
            };

            if (opties.First().optie.ToLower() == "populariteit")
            {
                grafiek.soortGegevens = Domain.Enum.SoortGegevens.POPULARITEIT;
            }
            else if (opties.First().optie.ToLower() == "postfrequentie")
            {
                grafiek.soortGegevens = Domain.Enum.SoortGegevens.POSTFREQUENTIE;
            }
            else if (opties.First().optie.ToLower() == "sentiment")
            {
                grafiek.soortGegevens = Domain.Enum.SoortGegevens.SENTIMENT;
            }

            //waardes voor de grafiek berekenen
            grafiek.Waardes = postManager.BerekenGrafiekWaardes(opties, entiteiten);

            foreach (var e in entiteiten)
            {
                e.Posts.Clear();
            }
            ;

            //kijkt na of de gebruiker al een lijst van blokken heeft om nullpointer te vermijden
            if (user.Dashboard.Configuratie.DashboardBlokken == null)
            {
                user.Dashboard.Configuratie.DashboardBlokken = new List <DashboardBlok>();
            }

            //nieuw blok aanmaken voor de configuratie
            DashboardBlok dashboardBlok = new DashboardBlok()
            {
                Grafiek = grafiek,
            };

            user.Dashboard.Configuratie.DashboardBlokken.Add(dashboardBlok);
            accountRepository.updateUser(user);
            uowManager.Save();
        }
예제 #18
0
 public void UpdateGrafiek(Grafiek grafiek)
 {
     context.Entry(grafiek).State = EntityState.Modified;
     context.SaveChanges();
 }
예제 #19
0
        public void maakVasteGrafieken()
        {
            initNonExistingRepo(true);
            DateTime                 since                  = new DateTime(2018, 04, 01);
            DateTime                 until                  = new DateTime(2018, 04, 30);
            EntiteitManager          entiteitManager        = new EntiteitManager(uowManager);
            AccountManager           accountManager         = new AccountManager(uowManager);
            Dictionary <int, double> dictionarySentiment    = new Dictionary <int, double>();
            Dictionary <int, int>    dictionaryPopulariteit = new Dictionary <int, int>();
            Dictionary <string, int> dictionaryWords        = new Dictionary <string, int>();

            foreach (var p in entiteitManager.GetAllPeople(1))
            {
                double sentiment = 0;
                foreach (var post in p.Posts)
                {
                    sentiment += (post.Sentiment.polariteit * post.Sentiment.subjectiviteit) / p.Posts.Count();
                }
                dictionarySentiment.Add(p.EntiteitId, sentiment);
                dictionaryPopulariteit.Add(p.EntiteitId, p.Posts.Count);
            }

            Grafiek grafiekSentiment = new Grafiek()
            {
                Type    = Domain.Enum.GrafiekType.VASTE,
                Waardes = new List <GrafiekWaarde>(),
                Naam    = "Meest Positieve/Negatieve personen"
            };

            Grafiek grafiekPopulair = new Grafiek()
            {
                Type    = Domain.Enum.GrafiekType.VASTE,
                Waardes = new List <GrafiekWaarde>(),
                Naam    = "Meest Populaire personen"
            };

            Grafiek grafiekPopulairWords = new Grafiek()
            {
                Type    = Domain.Enum.GrafiekType.VASTE,
                Waardes = new List <GrafiekWaarde>(),
                Naam    = "Meest Populaire Woorden"
            };

            var orderedSentiment    = dictionarySentiment.OrderBy(x => x.Value);
            var orderedPopulariteit = dictionaryPopulariteit.OrderByDescending(x => x.Value);
            var frequency           = postRepository.GetAllWords().GroupBy(x => x).ToDictionary(x => x.Key, x => x.Count()).OrderByDescending(x => x.Value);

            for (int i = 0; i < 4; i++)
            {
                GrafiekWaarde waarde = new GrafiekWaarde()
                {
                    Naam   = entiteitManager.getEntiteit(orderedSentiment.ElementAt(i).Key).Naam,
                    Waarde = orderedSentiment.ElementAt(i).Value
                };
                GrafiekWaarde waardePop = new GrafiekWaarde()
                {
                    Naam   = entiteitManager.getEntiteit(orderedPopulariteit.ElementAt(i).Key).Naam,
                    Waarde = orderedPopulariteit.ElementAt(i).Value
                };

                GrafiekWaarde waardeWords = new GrafiekWaarde()
                {
                    Naam   = frequency.ElementAt(i).Key.word,
                    Waarde = frequency.ElementAt(i).Value
                };

                grafiekSentiment.Waardes.Add(waarde);
                grafiekPopulair.Waardes.Add(waardePop);
                grafiekPopulairWords.Waardes.Add(waardeWords);
            }
            postRepository.AddGrafiek(grafiekSentiment);
            postRepository.AddGrafiek(grafiekPopulair);
            postRepository.AddGrafiek(grafiekPopulairWords);
            uowManager.Save();
        }
예제 #20
0
 public void AddGrafiek(Grafiek grafiek)
 {
     repo.SaveGrafiek(grafiek);
 }
예제 #21
0
        public static List <ZoneViewModel> ParseZones(List <Zone> zones, UnitOfWorkManager uowmgr)
        {
            int itemid = 1;
            int zoneId = 1;
            List <ZoneViewModel> zonesViewModel = new List <ZoneViewModel>();

            IDashboardManager dashboardManager = new DashboardManager(uowmgr);

            foreach (Zone zone in zones)
            {
                ZoneViewModel zoneViewModel = new ZoneViewModel()
                {
                    Naam     = zone.Naam,
                    Id       = zone.Id,
                    Items    = new List <ItemViewModel>(),
                    plaatsId = zoneId
                };
                zoneId++;
                if (zone.Items != null)
                {
                    List <Item> items = new List <Item>();
                    foreach (Item item in zone.Items)
                    {
                        if (item.GetType() == typeof(Grafiek))
                        {
                            Grafiek          grafiek       = dashboardManager.getGrafiek(item.Id);
                            GrafiekViewModel itemViewModel = new GrafiekViewModel()
                            {
                                tittel      = item.Titel,
                                DataType    = grafiek.DataType,
                                GrafiekType = grafiek.GrafiekType,
                                datasets    = new Dictionary <string, Dictionary <string, double> >(),
                                id          = itemid,
                                itemId      = item.Id
                            };
                            itemid++;
                            Dictionary <string, Dictionary <string, double> > graphData = dashboardManager.getGraphData(grafiek);
                            itemViewModel.datasets = (graphData);
                            zoneViewModel.Items.Add(itemViewModel);
                        }
                    }
                }
                zonesViewModel.Add(zoneViewModel);
            }
            #region testData
            ZoneViewModel testZone = new ZoneViewModel()
            {
                Naam     = "testZone",
                Items    = new List <ItemViewModel>(),
                plaatsId = zoneId
            };
            zoneId++;
            ZoneViewModel legeZone = new ZoneViewModel()
            {
                Naam     = "legeZone",
                Items    = new List <ItemViewModel>(),
                plaatsId = zoneId
            };
            zoneId++;
            #region testBar
            Dictionary <string, Dictionary <string, double> > datasets = new Dictionary <string, Dictionary <string, double> >();
            Dictionary <string, double> dataset = new Dictionary <string, double>();
            dataset.Add("Bart", 20.0);
            dataset.Add("Imade", 80.0);
            datasets.Add("", dataset);

            GrafiekViewModel testGrafiek = new GrafiekViewModel()
            {
                tittel      = "testGrafiek",
                datasets    = datasets,
                GrafiekType = GrafiekType.BAR,
                DataType    = DataType.TOTAAL,
                id          = itemid
            };
            itemid++;
            testZone.Items.Add(testGrafiek);
            #endregion

            #region testPie
            Dictionary <string, Dictionary <string, double> > datasetsPie = new Dictionary <string, Dictionary <string, double> >();
            Dictionary <string, double> datasetPie = new Dictionary <string, double>();
            datasetPie.Add("Bart", 20.0);
            datasetPie.Add("Imade", 80.0);
            datasetsPie.Add("", dataset);

            GrafiekViewModel testGrafiekPie = new GrafiekViewModel()
            {
                tittel      = "testGrafiek",
                datasets    = datasetsPie,
                GrafiekType = GrafiekType.PIE,
                DataType    = DataType.TOTAAL,
                id          = itemid
            };
            itemid++;
            testZone.Items.Add(testGrafiekPie);
            #endregion
            #region testLine

            Dictionary <string, Dictionary <string, double> > datasetsLine = new Dictionary <string, Dictionary <string, double> >();
            Dictionary <string, double> datasetLine1 = new Dictionary <string, double>();
            datasetLine1.Add(DateTime.Now.AddDays(-4).ToShortDateString(), 20.0);
            datasetLine1.Add(DateTime.Now.AddDays(-3).ToShortDateString(), 30.0);

            Dictionary <string, double> datasetLine2 = new Dictionary <string, double>();
            datasetLine2.Add(DateTime.Now.AddDays(-4).ToShortDateString(), 50.0);
            datasetLine2.Add(DateTime.Now.AddDays(-3).ToShortDateString(), 40.0);

            datasetsLine.Add("Lijn 1", datasetLine1);
            datasetsLine.Add("Lijn 2", datasetLine2);

            GrafiekViewModel testLine = new GrafiekViewModel()
            {
                tittel      = "testLine",
                datasets    = datasetsLine,
                GrafiekType = GrafiekType.LINE,
                DataType    = DataType.TOTAAL,
                id          = itemid
            };
            itemid++;
            testZone.Items.Add(testLine);
            #endregion
            zonesViewModel.Add(testZone);
            zonesViewModel.Add(legeZone);
            #endregion


            return(zonesViewModel);
        }
예제 #22
0
 public void AddGrafiek(Grafiek grafiek)
 {
     repository.CreateGrafiek(grafiek);
 }
예제 #23
0
        public void DeleteGrafiekWaardes(int grafiekID)
        {
            Grafiek teverwijderenwaardes = ctx.Grafieken.Where(o => o.GrafiekId == grafiekID).First();

            teverwijderenwaardes.Waardes = null;
        }
 public void SaveGrafiek(Grafiek grafiek)
 {
     ctx.Grafieken.Add(grafiek);
     ctx.SaveChanges();
 }
예제 #25
0
 public void addGrafiek(Grafiek grafiek)
 {
     initNonExistingRepo();
     postRepository.AddGrafiek(grafiek);
 }
예제 #26
0
 public void CreateGrafiek(Grafiek grafiek)
 {
     context.Grafieken.Add(grafiek);
     context.SaveChanges();
 }
예제 #27
0
 public List <DataConfig> GetGrafiekDataconfigs(Grafiek grafiek)
 {
     initNonExistingRepo();
     return(dashboardRepository.getGrafiekDataConfig(grafiek));
 }
예제 #28
0
 public void ChangeGrafiek(Grafiek grafiek)
 {
     repository.UpdateGrafiek(grafiek);
 }
예제 #29
0
        public Dictionary <string, Dictionary <string, double> > getGraphData(Grafiek grafiek)
        {
            initNonExistingRepo();
            Random       generator   = new Random();
            IPostManager postManager = new PostManager();

            IElementManager elementManager = new ElementManager();
            Dictionary <string, Dictionary <string, double> > data = new Dictionary <string, Dictionary <string, double> >();
            List <DataConfig> dataConfigs = grafiek.Dataconfigs;
            int index = 0;
            Dictionary <string, double> allData = new Dictionary <string, double>();

            if (grafiek.GrafiekType != GrafiekType.LINE)
            {
                grafiek.AantalDataPoints = 1;
            }

            if (dataConfigs == null)
            {
                DateTime start    = DateTime.Now.AddTicks(-grafiek.TijdschaalTicks);
                TimeSpan interval = new TimeSpan(grafiek.TijdschaalTicks / grafiek.AantalDataPoints);

                for (int i = 0; i < grafiek.AantalDataPoints; i++)
                {
                    DateTime eind = start.Add(interval);

                    int datapoint = postManager.getAllPosts().Where(p => p.Date.Subtract(start).TotalDays > 0).Where(p => p.Date.Subtract(eind).TotalDays < 0).Count();
                }
            }
            else
            {
                foreach (DataConfig dataConfig in dataConfigs)
                {
                    //Dictionary van de Data, bevat geformateerde datum en double voor de data
                    Dictionary <string, double> grafiekData = new Dictionary <string, double>();

                    DateTime start = DateTime.Now.AddTicks(grafiek.TijdschaalTicks);

                    TimeSpan interval = new TimeSpan(grafiek.TijdschaalTicks / grafiek.AantalDataPoints);

                    for (int i = 0; i < grafiek.AantalDataPoints; i++)
                    {
                        var         dataPoint = 0.0;
                        int         aantal    = 0;
                        List <Post> posts     = postManager.getDataConfigPosts(dataConfig).ToList();
                        int         totaal    = posts.Count();

                        DateTime eind = start.Add(interval);
                        posts = posts.Where(p => p.Date.Subtract(start).TotalDays > 0).Where(p => p.Date.Subtract(eind).TotalDays < 0).ToList();

                        posts = postManager.filterPosts(posts, dataConfig.Filters);
                        switch (grafiek.DataType)
                        {
                        case Domain.DataType.TOTAAL:
                            if (posts.Count == 0)
                            {
                                dataPoint = generator.Next(0, 200);
                            }
                            break;

                        case Domain.DataType.PERCENTAGE:
                            if (totaal == 0)
                            {
                                dataPoint = 0;
                            }
                            if (posts.Count == 0)
                            {
                                dataPoint = generator.NextDouble();
                            }
                            else
                            {
                                dataPoint = (double)posts.Count / (double)totaal;
                            }
                            break;

                        default:
                            break;
                        }
                        if (grafiek.GrafiekType == GrafiekType.LINE)
                        {
                            if (grafiekData.Keys.Contains(start.ToString("dd/MM/yy HH:mm")))
                            {
                                grafiekData.Add(start.ToString("dd/MM/yy HH:mm 2"), dataPoint);
                            }
                            else
                            {
                                grafiekData.Add(start.ToString("dd/MM/yy HH:mm"), dataPoint);
                            }
                        }
                        else
                        {
                            StringBuilder naam = new StringBuilder("");
                            naam.Append(dataConfig.Element.Naam + " ");

                            foreach (Filter filter in dataConfig.Filters)
                            {
                                naam.Append(filter.Type.ToString() + " ");
                                if (filter.IsPositive)
                                {
                                    naam.Append("+");
                                }
                                else
                                {
                                    naam.Append("-");
                                }
                            }
                            grafiekData.Add(naam.ToString(), dataPoint);
                        }

                        start = start.Add(interval);
                    }
                    StringBuilder label = new StringBuilder("");
                    label.Append(dataConfig.Element.Naam + " ");

                    foreach (Filter filter in dataConfig.Filters)
                    {
                        label.Append(filter.Type.ToString() + " ");
                        if (filter.IsPositive)
                        {
                            label.Append("+");
                        }
                        else
                        {
                            label.Append("-");
                        }
                    }
                    if (grafiek.GrafiekType != GrafiekType.LINE)
                    {
                        allData.Add(label.ToString(), grafiekData.Values.FirstOrDefault());
                    }
                    else
                    {
                        data.Add(label.ToString(), grafiekData);
                    }
                    index++;
                }
            }

            if (grafiek.GrafiekType != GrafiekType.LINE)
            {
                data.Add(data.Count.ToString(), allData);
            }
            return(data);
        }
예제 #30
0
 public void UpdateGrafiek(Grafiek grafiekToUpdate)
 {
     //ctx.Entry(grafiekToUpdate.Entiteiten).State = EntityState.Unchanged;
     ctx.Entry(grafiekToUpdate).State = EntityState.Modified;
     ctx.SaveChanges();
 }