protected override void OnActionExecuting(ActionExecutingContext filterContext) { if (Elementen == null) { Elementen = new List <Element>(); } var segments = HttpContext.Request.Url.Segments; if (!(segments.Length <= 1)) { BaseController.deelplatformURL = HttpContext.Request.Url.Segments[1].Trim('/'); IPlatformManager platformManager = new PlatformManager(); this.Deelplatform = platformManager.getDeelplatformByNaam(deelplatformURL); ViewBag.Deelplatform = deelplatformURL; IElementManager elementManager = new ElementManager(); Deelplatform elementDeelplatform = null; if (Elementen.FirstOrDefault() != null) { elementDeelplatform = Elementen.FirstOrDefault().Deelplatform; } if (Deelplatform != null && (elementDeelplatform == null || elementDeelplatform.Naam != Deelplatform.Naam)) { Elementen = elementManager.getAllElementen(Deelplatform); } } base.OnActionExecuting(filterContext); }
public Dashboard getDashboard(string gebruikersNaam, Deelplatform deelplatform) { Dashboard dashboard = null; Gebruiker gebruiker = context.Gebruikers.First(g => g.Email == gebruikersNaam); List <Dashboard> dashboards = context.Dashboards.Include <Dashboard>("Zones").Where(d => d.Gebruiker.Email == gebruiker.Email && d.Deelplatform.Id == deelplatform.Id).ToList(); if (dashboards.Count != 0) { dashboard = dashboards.First(); } if (dashboard == null) { //Eerste keer dat een gebruiker dat een gebruiker inlogd heeft deze nog geen dashboard dashboard = new Dashboard() { Deelplatform = deelplatform, Gebruiker = gebruiker, Zones = new List <Zone>() { new Zone() { Dashboard = dashboard, Items = new List <Item>(), Naam = "Zone 1" } } }; context.Dashboards.Add(dashboard); context.SaveChanges(); } return(dashboard); }
public void deleteAllPersonen(Deelplatform deelplatform) { initNonExistingRepo(true); elementRepository.deleteAllPersonen(deelplatform); this.uowManager.Save(); }
public List <Element> getTrendingElementen(int amount, Deelplatform deelplatform) { List <Element> elementenTrending = new List <Element>(); List <Element> elementen = getAllElementen(deelplatform).ToList(); for (int i = 0; i < amount; i++) { if (elementen.Count == 0) { return(elementenTrending); } double maxTrend = 0.0; Element maxElement = elementen.First(); foreach (Element element in elementen) { if (element.Trend > maxTrend) { maxElement = element; maxTrend = maxElement.Trend; } } elementen.Remove(maxElement); elementenTrending.Add(maxElement); } return(elementenTrending); }
public List <Melding> GetMeldingen(string email) { IDashboardManager dashboardManager = new DashboardManager(); //TODO: eventueel meerdere deelplatformen IPlatformManager platformManager = new PlatformManager(); Deelplatform deelplatform = platformManager.getDeelplatformByNaam("Politiek"); Dashboard dashboard = dashboardManager.getDashboard(email, deelplatform.Naam); List <Melding> meldingen = dashboardManager.getActiveMeldingen(dashboard).ToList(); //Melding melding1 = new Melding() //{ // IsActive = true, // IsPositive = true, // MeldingDateTime = DateTime.Now.AddHours(-1), // Message = "Deze Alert is een positieve test alert", // Titel = "Postieve Test Melding" //}; //Melding melding2 = new Melding() //{ // IsActive = true, // IsPositive = false, // MeldingDateTime = DateTime.Now.AddHours(-2), // Message = "Deze Alert is een Negatieve test alert", // Titel = "Negatieve Test Melding" //}; //meldingen.Add(melding1); //meldingen.Add(melding2); return(meldingen); }
public Element getElementByNaam(string naam, Deelplatform deelplatform) { initNonExistingRepo(true); Element element = elementRepository.getElementByName(naam, deelplatform); return(element); }
public IEnumerable <Element> getAllElementen(Deelplatform deelplatform) { List <Element> elementen = new List <Element>(); List <Thema> themas = context.Themas.Where(t => t.Deelplatform.Id == deelplatform.Id).ToList(); if (themas.Count() != 0) { elementen.AddRange(themas); } IEnumerable <Organisatie> organisaties = context.Organisaties.Include(o => o.Personen).Where(t => t.Deelplatform.Id == deelplatform.Id); if (themas.Count() != 0) { elementen.AddRange(organisaties); } List <Persoon> personen = context.Personen.Include(p => p.Organisatie).Where(t => t.Deelplatform.Id == deelplatform.Id).ToList(); if (personen.Count() != 0) { personen.Sort(Element.compareByNaam); elementen.AddRange(personen); } return(elementen); }
public List <Element> getAllElementen(Deelplatform deelplatformS) { initNonExistingRepo(true); IPlatformManager platformManager = new PlatformManager(this.uowManager); Deelplatform deelplatform = platformManager.getDeelplatformByNaam(deelplatformS.Naam); return(elementRepository.getAllElementen(deelplatform).ToList()); }
public ActionResult DeleteDeelplatform(int id, Deelplatform deelplatform) { IPlatformManager platformManager = new PlatformManager(); Deelplatform deelPlatform = platformManager.getDeelplatformById(id); platformManager.deleteDeelplatform(deelPlatform); return(RedirectToAction("Index")); }
public Dashboard getDashboard(string email, string deelplatformS) { initNonExistingRepo(true); IPlatformManager platformManager = new PlatformManager(uowManager); Deelplatform deelplatform = platformManager.getDeelplatformByNaam(deelplatformS); Dashboard dashboard = dashboardRepository.getDashboard(email, deelplatform); uowManager.Save(); return(dashboard); }
public Element getElementByName(string naam, Deelplatform deelplatform) { Element element = (Element)context.Personen.Include(p => p.Organisatie).FirstOrDefault(p => p.Naam.Equals(naam) && p.Deelplatform.Id == deelplatform.Id); if (element == null) { element = (Element)context.Organisaties.FirstOrDefault(p => p.Naam.Equals(naam) && p.Deelplatform.Id == deelplatform.Id); } if (element == null) { element = (Element)context.Themas.FirstOrDefault(p => p.Naam.Equals(naam) && p.Deelplatform.Id == deelplatform.Id); } return(element); }
public List <Alert> GetAlerts(string email) { IDashboardManager dashboardManager = new DashboardManager(); //TODO: eventueel meerdere deelplatformen IPlatformManager platformManager = new PlatformManager(); Deelplatform deelplatform = platformManager.getDeelplatformByNaam("Politiek"); Dashboard dashboard = dashboardManager.getDashboard(email, deelplatform.Naam); List <Alert> lijstAlerts = dashboardManager.getDashboardAlerts(dashboard).ToList(); return(lijstAlerts); }
public List <Persoon> readJSONPolitici() { initNonExistingRepo(true); IPlatformManager platformManager = new PlatformManager(this.uowManager); Deelplatform deelplatform = platformManager.getDeelplatformByNaam("Politiek"); List <Persoon> personen = new List <Persoon>(); List <PersoonParser> items; using (StreamReader r = new StreamReader(AppContext.BaseDirectory + "bin/politici.json")) { string json = r.ReadToEnd(); items = JsonConvert.DeserializeObject <List <PersoonParser> >(json); } foreach (PersoonParser persoon in items) { Persoon politicus = new Persoon() { DateOfBirth = persoon.dateOfBirth, District = persoon.district, Facebook = persoon.facebook, Gender = persoon.gender, Naam = persoon.full_name, Position = persoon.position, Level = persoon.level, Postal_code = persoon.postal_code, Site = persoon.site, Town = persoon.town, Twitter = persoon.twitter }; politicus.Deelplatform = deelplatform; Organisatie organisatie = (Organisatie)getElementByNaam(persoon.organisation, deelplatform); if (organisatie == null) { organisatie = new Organisatie() { Naam = persoon.organisation, Personen = new List <Persoon>() { politicus }, }; organisatie.Deelplatform = deelplatform; addOrganisatie(organisatie); } politicus.Organisatie = organisatie; personen.Add(politicus); } return(personen); }
public Deelplatform UpdateDeelplatform(Deelplatform uDeelplatform) { Deelplatform toChange = ReadDeelplatform(uDeelplatform.DeelplatformId); if (toChange != null) { toChange.Naam = uDeelplatform.Naam; toChange.Tagline = uDeelplatform.Tagline; toChange.Entiteiten = uDeelplatform.Entiteiten; ctx.Entry(toChange).State = System.Data.Entity.EntityState.Modified; } ctx.SaveChanges(); return(toChange); }
public void Configuration(IAppBuilder app) { ConfigureAuth(app); ConfigureOAuthTokenGeneration(app); ConfigureOAuthTokenConsumption(app); CreateUserAndRoles(); UnitOfWorkManager uowMgr = new UnitOfWorkManager(); IElementManager elementManager = new ElementManager(uowMgr); PlatformManager platformManager = new PlatformManager(uowMgr); Deelplatform deelplatform = platformManager.getDeelplatformByNaam("Politiek"); elementManager.deleteAllPersonen(deelplatform); elementManager.addPersonen(elementManager.readJSONPolitici()); elementManager.setTrendingElementen(deelplatform); UpdateAsync(); //SetTimer(); uowMgr.Save(); }
public void setTrendingElementen(Deelplatform deelplatformS) { initNonExistingRepo(true); IPlatformManager platformManager = new PlatformManager(this.uowManager); Deelplatform deelplatform = platformManager.getDeelplatformByNaam(deelplatformS.Naam); PostManager postManager = new PostManager(uowManager); List <Element> elementen = getAllElementen(deelplatform); foreach (Element element in elementen) { element.Trend = postManager.calculateElementTrend(element); } elementen.ForEach(e => elementRepository.setElement(e)); this.uowManager.Save(); }
public List <ZoneViewModel> GetZones(string email) { UnitOfWorkManager uowMgr = new UnitOfWorkManager(); IDashboardManager dashboardManager = new DashboardManager(uowMgr); IElementManager elementManager = new ElementManager(uowMgr); //TODO: eventueel meerdere deelplatformen IPlatformManager platformManager = new PlatformManager(uowMgr); Deelplatform deelplatform = platformManager.getDeelplatformByNaam("Politiek"); Dashboard dashboard = dashboardManager.getDashboard(email, deelplatform.Naam); List <Zone> zones = dashboardManager.getZones(dashboard).ToList(); List <ZoneViewModel> zonesViewModel = ZoneParser.ParseZones(zones, uowMgr); return(zonesViewModel); }
public List <Element> getTrendingElementen(int amount, Deelplatform deelplatformS) { initNonExistingRepo(true); IPlatformManager platformManager = new PlatformManager(this.uowManager); Deelplatform deelplatform = platformManager.getDeelplatformByNaam(deelplatformS.Naam); List <Element> elementenTrending = elementRepository.getAllElementen(deelplatform).ToList(); List <Element> elementen = new List <Element>(); List <Element> personen = elementenTrending.Where(e => e.GetType().Equals(typeof(Persoon))).ToList(); List <Element> themas = elementenTrending.Where(e => e.GetType().Equals(typeof(Thema))).ToList(); List <Element> organisaties = elementenTrending.Where(e => e.GetType().Equals(typeof(Organisatie))).ToList(); elementen.AddRange(getTopTrending(personen, amount)); elementen.AddRange(getTopTrending(themas, amount)); elementen.AddRange(getTopTrending(organisaties, amount)); return(elementen); }
public ActionResult CreateDeelplatform(FormCollection form) { Deelplatform deelplatform = new Deelplatform() { Naam = form["txtNaam"], PersoonString = form["txtPersoonstring"], OrganisatieString = form["txtOrganisatiestring"], ThemaString = form["txtThemastring"], }; var roleManager = new RoleManager <IdentityRole>(new RoleStore <IdentityRole>(PolitiekeBarometerContext.Create())); IdentityRole adminRole = new IdentityRole("Admin" + deelplatformURL); roleManager.Create(adminRole); IPlatformManager platformManager = new PlatformManager(); platformManager.createDeelplatform(deelplatform); return(RedirectToAction("LijstDeelplatformen")); }
public override void OnActionExecuting(ActionExecutingContext filterContext) { IPlatformManager platformManager = new PlatformManager(); Uri url = HttpContext.Current.Request.Url; filterContext.RouteData.Values.Remove("deelplatform"); string[] segments = url.AbsolutePath.Split('/'); string deelplatformURL = segments[1]; string action = ""; Deelplatform deelplatform = platformManager.getDeelplatformByNaam(deelplatformURL); if (segments.Length > 2) { action = segments[2]; } if (deelplatformURL == "pb") { if (url.AbsolutePath != "/pb/Home/Index") { filterContext.Result = new RedirectResult("/pb/Home/Index"); } } else { if (deelplatform == null) { filterContext.Result = new RedirectResult("/pb/Home/Index"); } else { if (action == "" || action == "Home") { filterContext.Result = new RedirectResult("/pb/Home/Index"); } else { filterContext.RouteData.Values.Add("deelplatform", deelplatformURL); base.OnActionExecuting(filterContext); } } } }
private static async Task UpdateAsync() { UnitOfWorkManager uowManager = new UnitOfWorkManager(); IElementManager elementManager = new ElementManager(uowManager); IDashboardManager dashboardManager = new DashboardManager(uowManager); IPlatformManager platformManager = new PlatformManager(uowManager); IPostManager postManager = new PostManager(uowManager); DateTime lastUpdate = Platform.lastUpdate; Deelplatform deelplatform = platformManager.getDeelplatformByNaam("Politiek"); string responseString = await postManager.updatePosts(Platform.lastUpdate); postManager.addJSONPosts(responseString); postManager.deleteOldPosts(); elementManager.setTrendingElementen(deelplatform); dashboardManager.sendAlerts(); Platform.refreshTimer.Interval = Platform.interval.TotalMilliseconds; Platform.lastUpdate = DateTime.Now; uowManager.Save(); }
public List <Thema> getAllThemas(Deelplatform deelplatform) { return(context.Themas.Where(t => t.Deelplatform.Id == deelplatform.Id).ToList()); }
public void deleteDeelplatform(Deelplatform deelplatform) { initNonExistingRepo(); platformRepository.deleteDeelplatform(deelplatform); }
public void CreateDeelplatform(Deelplatform d) { ctx.DeelPlatformen.Add(d); ctx.SaveChanges(); }
public void deleteAllPersonen(Deelplatform deelplatform) { context.Personen.RemoveRange(context.Personen.Where(p => p.Deelplatform.Id == deelplatform.Id)); context.SaveChanges(); }
public Deelplatform ChangeDeelplatform(Deelplatform changedDeelplatform) { initNonExistingRepo(); return(platformRepository.UpdateDeelplatform(changedDeelplatform)); }
public void createDeelplatform(Deelplatform deelplatform) { context.Deelplatformen.Add(deelplatform); context.SaveChanges(); }
public IEnumerable <Persoon> getAllPersonen(Deelplatform deelplatform) { return(context.Personen.Where(p => p.Deelplatform.Id == deelplatform.Id).Include(p => p.Organisatie).Include("Organisatie")); }
public void deleteDeelplatform(Deelplatform deelplatform) { context.Deelplatformen.Remove(deelplatform); context.SaveChanges(); }
public void AddDeelplatform(Deelplatform newPlatform) { initNonExistingRepo(); platformRepository.CreateDeelplatform(newPlatform); }