private SelectList GetKonventenAsSelectList() { return(new SelectList( _konventRepository.GetAll().OrderBy(k => k.GroepNaam), nameof(Konvent.GroepId), nameof(Konvent.GroepNaam) )); }
private Chart GenerateTicketsPerKonventChart(McEditie editie) { Chart chart = new Chart { Type = Enums.ChartType.Bar }; ChartJSCore.Models.Data data = new ChartJSCore.Models.Data { Labels = new List <string>(), Datasets = new List <Dataset>() }; foreach (var vm in editie.Verkoopmomenten.OrderBy(vm => vm.StartDatum)) { data.Labels.Add($"Verkoop {vm.GetVerkoopmomentNumberInEditie()}"); } data.Labels.Add("Totaal"); //Generate datasets int colorNum = 0; foreach (var konvent in _konventRepository.GetAll()) { //calculate tickets for each vm and the total var dataForDataset = new List <double>(); int konventSum = 0; foreach (var vm in editie.Verkoopmomenten.OrderBy(vm => vm.StartDatum)) { int tickets = vm.Bestellingen .Where(b => b.Vereniging.Konvent?.GroepId == konvent.GroepId) .Sum(b => b.AantalGereserveerdeTickets); dataForDataset.Add(tickets); konventSum += tickets; } dataForDataset.Add(konventSum); //create the actual dataset Random rand = new Random(); BarDataset dataset = new BarDataset() { Label = konvent.GroepNaam, Data = dataForDataset, BackgroundColor = new List <ChartColor> { ChartColorTransparent[colorNum] }, BorderColor = new List <ChartColor> { ChartColorSolid[colorNum] }, BorderWidth = new List <int>() { 1 } }; data.Datasets.Add(dataset); chart.Data = data; colorNum++; } chart.Options = new Options() { Title = new Title() { Display = true, Position = "top", Text = "Aantal tickets verkocht per verkoopmoment per konvent", FontSize = 20 } }; return(chart); }