public IHttpActionResult Post([FromBody] string data) { GrafJson json = JsonConvert.DeserializeObject <GrafJson>(data); int gebruiker = int.Parse(User.Identity.GetUserId()); switch (json.type) { case "line": LineJson line = JsonConvert.DeserializeObject <LineJson>(data); line.ToString(); List <Serie> series = new List <Serie>(); Grafiek grafiek = new Lijn(grafiekenMng.NewGrafiek().ID, line.title, new As() { Titel = "Aantal Tweets", IsUsed = true }, series); grafiek.GebruikerId = gebruiker; grafiek.PlotOptions.PointStart = line.pointStart.ToString(); foreach (PersoonJson persoon in line.series) { AantalBerichtenPerWeekModel model = GetAantalBerichtenPerWeekModel(line.aantalWeken, int.Parse(persoon.id)); Serie serie = new Serie(); serie.Naam = persoon.naam; foreach (int d in model.Data) { Data dat = new Data(d); serie.Data.Add(dat); } grafiek.Series.Add(serie); } grafiekenMng.AddGrafiek(grafiek); break; case "bar": BarJson bar = JsonConvert.DeserializeObject <BarJson>(data); bar.ToString(); As xAs = new As() { IsUsed = true }; As yAs = new As() { IsUsed = true, Titel = "Aantal Tweets" }; List <Categorie> categories = new List <Categorie>(); foreach (string categorie in bar.categories) { categories.Add(new Categorie(categorie)); } xAs.Categorieen = categories; List <Serie> series2 = new List <Serie>(); foreach (PersoonJson persoon in bar.series) { int id = int.Parse(persoon.id); int aantal = berichtMng.GetBerichten(b => b.Personen.FirstOrDefault(p => p.ID == id) != null).ToList().Count; Serie serie = new Serie(); serie.Naam = berichtMng.GetPersoon(id).Naam; serie.Data.Add(new Data(aantal)); series2.Add(serie); } Grafiek grafiek2 = new Bar(grafiekenMng.NewGrafiek().ID, bar.title, xAs, series2 ); grafiek2.yAs = yAs; grafiek2.GebruikerId = gebruiker; grafiekenMng.AddGrafiek(grafiek2); break; case "pie": PieJson pie = JsonConvert.DeserializeObject <PieJson>(data); pie.ToString(); Serie serie2 = new Serie(); serie2.Naam = pie.serieNaam; for (int i = 0; i < pie.series.Count; i++) { Data data2 = new Data() { Naam = pie.series[i].naam, Value = pie.waarden[i] }; serie2.Data.Add(data2); } Grafiek grafiek3 = new Pie(grafiekenMng.NewGrafiek().ID, pie.title, serie2); grafiek3.GebruikerId = gebruiker; grafiekenMng.AddGrafiek(grafiek3); break; } return(Ok()); }