private Chart GetSupplierPayoutSumChart() { _logger.LogTrace("Generating chart for total supplier payout over the past 30 days."); var supplierPayoutSumData = _reportRepo.GetSupplierPayoutSums(DateTime.Today.AddMonths(-1).AddDays(-1), DateTime.Today.AddDays(1)).OrderBy(x => x.PayedAt).ToList(); return(new Chart { Type = Enums.ChartType.Line, Data = new Data { Labels = supplierPayoutSumData.Select(x => x.PayedAt.ToShortDateString()).ToList(), Datasets = new List <Dataset> { new LineDataset { Label = "$ Total Payouts", Data = supplierPayoutSumData.Select(x => (double)x.Sum).ToList(), Fill = "false", LineTension = 0.1, BackgroundColor = ChartColor.FromRgba(40, 167, 69, 0.4), BorderColor = ChartColor.FromRgba(40, 167, 69, 1), BorderCapStyle = "butt", BorderDashOffset = 0.0, BorderJoinStyle = "miter", PointBorderColor = new List <ChartColor>() { ChartColor.FromRgba(40, 167, 69, 1) }, PointBackgroundColor = new List <ChartColor>() { ChartColor.FromHexString("#fff") }, PointBorderWidth = new List <int> { 1 }, PointHoverRadius = new List <int> { 5 }, PointHoverBackgroundColor = new List <ChartColor>() { ChartColor.FromRgba(40, 167, 69, 1) }, PointHoverBorderColor = new List <ChartColor>() { ChartColor.FromRgba(40, 220, 220, 1) }, PointHoverBorderWidth = new List <int> { 2 }, PointRadius = new List <int> { 1 }, PointHitRadius = new List <int> { 10 }, } } } }); }