public async Task <IActionResult> GetIndexChartData() { var output = new UserChartsDataViewModel(); var categories = await _categoryService.GetAllCategoriesAsync(); if (categories != null) { foreach (var category in categories) { var amount = (await _seriesService.GetTotalAmountOfSeriesAsync(new List <Category>() { category }))?.FirstOrDefault(); if (amount.HasValue) { output.CategoryChartData.Add(new UserChartsDataViewModel.CategoryChartItem() { Category = category, Amount = amount.Value, }); } } output.CategoryChartData = output.CategoryChartData .OrderByDescending(s => s.Amount) .ToList(); return(Json(new Result(string.Empty, false) { JsonData = output })); } return(Json(new Result(ApplicationResources.UserInterface.Common.NoDataToDisplay))); }
public async Task <IActionResult> GetChartsData(string id) { var user = await _userManager.FindByIdAsync(id); if (user != null) { var cubes = await _cubeCollectionsService.GetAllCubesOfUserAsync(id); var series = await _seriesService.GetAllSeriesOfUserAsync(user.Id); var model = new UserChartsDataViewModel(); var categories = cubes .Select(c => c.Category) .Distinct() .ToList(); if (cubes.Count() > 0) { foreach (var cube in cubes) { var amount = series.Count(s => s.Cube == cube); model.CubeChartData.Add(new UserChartsDataViewModel.CubeChartItem() { Cube = cube, Amount = amount, }); } model.CubeChartData = model.CubeChartData .OrderByDescending(d => d.Amount) .ToList(); } if (categories.Count() > 0) { foreach (var category in categories) { var amount = series .Count(s => s.Cube.Category == category); model.CategoryChartData.Add(new UserChartsDataViewModel.CategoryChartItem() { Category = category, Amount = amount, }); } model.CategoryChartData = model.CategoryChartData .OrderByDescending(d => d.Amount) .ToList(); } return(Json(new Result(string.Empty, false) { JsonData = model, })); } return(Json(new Result(ApplicationResources.UserInterface.Common.UserDoNotExist))); }