private Chart GetAccountStatusChart() { _logger.LogTrace("Generating chart for account in each status."); var colorMapping = new Dictionary <AccountStatus, ChartColor> { { AccountStatus.Banned, ChartColor.FromHexString("#dc3545") }, { AccountStatus.Disabled, ChartColor.FromHexString("#6c757d") }, { AccountStatus.Ok, ChartColor.FromHexString("#28a745") }, { AccountStatus.LockedOut, ChartColor.FromHexString("#ffc107") }, { AccountStatus.PendingVerification, ChartColor.FromHexString("#17a2b8") } }; var accountStatusData = _reportRepo.GetAccountStatusCount(true).ToList(); var colors = accountStatusData.Select(x => colorMapping[x.Status]).ToList(); return(new Chart { Type = Enums.ChartType.Pie, Data = new Data { Labels = accountStatusData.Select(x => Enum.GetName(typeof(AccountStatus), x.Status)).ToList(), Datasets = new List <Dataset> { new PieDataset { Label = "Account Statuses (With Empty)", BackgroundColor = colors, HoverBackgroundColor = colors, Data = accountStatusData.Select(x => (double)x.Count).ToList() } } } }); }