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); } }
public List <GrafiekWaarde> BerekenGrafiekWaardes(List <CijferOpties> opties, List <Entiteit> entiteiten) { initNonExistingRepo(); //EntiteitManager entiteitManager = new EntiteitManager(uowManager); List <GrafiekWaarde> GrafiekWaardes = new List <GrafiekWaarde>(); //Alle opties overlopen foreach (var o in opties) { //Als optie aantal posts is, voor elke entiteit het totaal aantal posts ophalen if (o.optie.ToLower() == "aantalposts" || o.optie.ToLower() == "populariteit") { foreach (var e in entiteiten) { GrafiekWaarde waarde = new GrafiekWaarde() { Naam = "# Posts " + e.Naam, Waarde = e.Posts.Count }; GrafiekWaardes.Add(waarde); } } else if (o.optie.ToLower() == "aantalretweets") { foreach (var e in entiteiten) { GrafiekWaarde waarde = new GrafiekWaarde() { Naam = "# Retweets " + e.Naam, Waarde = e.Posts.Where(x => x.retweet == true).Count() }; GrafiekWaardes.Add(waarde); } } else if (o.optie.ToLower() == "aanwezigetrends") { foreach (var e in entiteiten) { if (e.Trends == null) { e.Trends = new List <Trend>(); } foreach (var t in e.Trends) { GrafiekWaarde waarde = new GrafiekWaarde() { Naam = "Trend " + t.Voorwaarde, Waarde = 1 //1 van true, aanwezig }; GrafiekWaardes.Add(waarde); } } } else if (o.optie.ToLower() == "postfrequentie") { foreach (var e in entiteiten) { for (int i = 0; i < 10; i++) { GrafiekWaarde waarde = new GrafiekWaarde() { Naam = "Posts " + e.Naam, Waarde = e.Posts.Where(x => x.Date.Date == DateTime.Today.AddDays(-i).Date).Count() }; GrafiekWaardes.Add(waarde); } GrafiekWaarde end = new GrafiekWaarde() { Naam = "endpostfrequentie" }; GrafiekWaardes.Add(end); } } } return(GrafiekWaardes); }
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(); }