public void Refresh(List <BrandRanking> analysis) { if (analysis == null || analysis.Count == 0) { return; } analysis.ForEach(b => { b.Percentage *= 100; }); RankSeries = new ObservableCollection <BrandRanking>(analysis.OrderByDescending(b => b.Percentage)); TotalAmount = analysis.Select(s => s.NetAmount ?? 0).Sum(); TotalPercentage = analysis.Select(s => s.Percentage ?? 0).Sum(); var ranks = analysis.ToList(); if (ranks.Count > 10) { ranks = ranks.Take(10).ToList(); } var data = new ChartViewConfig() { BackgroundColor = Color.White, ChartConfig = new ChartConfig { type = Wesley.ChartJS.ChartTypes.Bar, data = ChartDataProvider.GetBrandRanking(ranks) } }; ChartConfig = data; }
/// <summary> /// 品牌销量汇总 /// </summary> /// <param name="app"></param> /// <param name="title"></param> /// <returns></returns> private async Task <ChartViewConfig> BrandRankingPage_Chart(Module app, string title) { ChartViewConfig chartData = null; try { var result = await _reportingService.GetBrandRankingAsync(new[] { 0 }, Settings.UserId, DateTime.Now.AddDays(-15), DateTime.Now, this.ForceRefresh, new System.Threading.CancellationToken()); if (result != null && result.Any()) { var series = result.ToList(); if (series.Count > 50) { series = result.Take(50).ToList(); } chartData = new ChartViewConfig() { BackgroundColor = Color.White, ChartConfig = new ChartConfig { type = Wesley.ChartJS.ChartTypes.Bar, data = ChartDataProvider.GetBrandRanking(series) } }; } return(chartData); } catch (Exception ex) { Crashes.TrackError(ex); return(chartData); } }