public void AddAlert(Alert alert, int entiteitId, bool web, bool android, bool mail) { initNonExistingRepo(true); EntiteitManager emg = new EntiteitManager(uowManager); alert.Entiteit = emg.getEntiteit(entiteitId); // var entiteit = emg.getEntiteit(1); //entiteit.Alerts.Add(alert); if (android == true) { alert.PlatformType = Domain.Enum.PlatformType.ANDROID; repo.AddAlert(alert); } if (web == true) { alert.PlatformType = Domain.Enum.PlatformType.WEB; repo.AddAlert(alert); } if (mail == true) { alert.PlatformType = Domain.Enum.PlatformType.EMAIL; repo.AddAlert(alert); } uowManager.Save(); }
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(); }
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(); }