private void RefreshData(List <HotSaleRanking> analysis) { RankSeries = new ObservableCollection <HotSaleRanking>(analysis); TotalSumReturnAmount = analysis.Select(s => s.TotalSumReturnAmount ?? 0).Sum(); TotalSumNetAmount = analysis.Select(s => s.TotalSumNetAmount ?? 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 = DCMS.ChartJS.ChartTypes.Bar, data = ChartDataProvider.GetHotSalesRanking(ranks) } }; ChartConfig = data; }
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; }
public void Refresh(List <BusinessRanking> analysis) { RankSeries = new ObservableCollection <BusinessRanking>(analysis); SaleAmount = analysis.Select(s => s.SaleAmount).Sum(); SaleReturnAmount = analysis.Select(s => s.SaleReturnAmount).Sum(); NetAmount = analysis.Select(s => s.NetAmount).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.GetSalesRanking(ranks) } }; ChartConfig = data; }
private void RefreshData(List <BusinessVisitRank> analysis) { if (analysis == null) { return; } RankSeries = new ObservableCollection <BusinessVisitRank>(analysis); SubTotal = analysis.Select(s => s.VisitedCount).Sum(); Total = analysis.Select(s => s.CustomerCount).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.GetCustomerVisitRank(ranks) } }; ChartConfig = data; }
/// <summary> /// 热定排行榜 /// </summary> /// <param name="app"></param> /// <param name="title"></param> /// <returns></returns> private async Task <ChartViewConfig> HotOrderRankingPage_Chart(Module app, string title) { ChartViewConfig chartData = null; try { var result = await _reportingService.GetHotOrderRankingAsync(0, Settings.UserId, 0, 0, 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.GetHotOrderRanking(series) } }; } return(chartData); } catch (Exception ex) { Crashes.TrackError(ex); return(chartData); } }
public void Refresh(List <CustomerRanking> analysis) { RankSeries = new ObservableCollection <CustomerRanking>(analysis); SubTotal = analysis.Select(s => s.VisitSum).Sum(); Total = analysis.Select(s => s.NetAmount).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.GetCustomerRanking(ranks) } }; ChartConfig = data; }
/// <summary> /// 新增客户分析 /// </summary> /// <param name="app"></param> /// <param name="title"></param> /// <returns></returns> private async Task <ChartViewConfig> NewCustomersPage_Chart(Module app, string title) { ChartViewConfig chartData = null; try { var result = await _reportingService.GetNewCustomerAnalysisAsync(Filter.BusinessUserId, this.ForceRefresh, new System.Threading.CancellationToken()); if (result != null && result.ChartDatas != null) { var series = result.ChartDatas.ToList(); if (series.Count == 0) { return(null); } chartData = new ChartViewConfig() { BackgroundColor = Color.White, ChartConfig = new ChartConfig { type = Wesley.ChartJS.ChartTypes.Line, data = ChartDataProvider.GetNewCustomers(result) } }; } return(chartData); } catch (Exception ex) { Crashes.TrackError(ex); return(chartData); } }
/// <summary> /// 客户活跃度 /// </summary> /// <param name="app"></param> /// <param name="title"></param> /// <returns></returns> private async Task <ChartViewConfig> CustomerActivityPage_Chart(Module app, string title) { ChartViewConfig chartData = null; try { var result = await _terminalService.GetCustomerActivityRankingAsync(Settings.UserId, 0, 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.Line, data = ChartDataProvider.GetCustomerActivity(series), } }; } return(chartData); } catch (Exception ex) { Crashes.TrackError(ex); return(chartData); } }
/// <summary> /// 客户拜访分析 /// </summary> /// <param name="app"></param> /// <param name="title"></param> /// <returns></returns> private async Task <ChartViewConfig> VisitingRatePage_Chart(Module app, string title) { ChartViewConfig chartData = null; try { var result = await _reportingService.GetCustomerVistAnalysisAsync(Settings.UserId, this.ForceRefresh, new System.Threading.CancellationToken()); if (result != null) { chartData = new ChartViewConfig() { BackgroundColor = Color.White, ChartConfig = new ChartConfig { type = Wesley.ChartJS.ChartTypes.Pie, data = ChartDataProvider.GetVisitingRate(result) } }; } return(chartData); } catch (Exception ex) { Crashes.TrackError(ex); return(chartData); } }
private void RefreshData(List <CostProfitRanking> analysis) { RankSeries = new ObservableCollection <CostProfitRanking>(analysis); TotalSumNetQuantity = analysis.Select(s => s.TotalSumNetQuantity).Sum(); TotalSumNetAmount = analysis.Select(s => s.TotalSumNetAmount).Sum(); TotalSumProfit = analysis.Select(s => s.TotalSumProfit).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.GetSalesProfitRanking(ranks) } }; ChartConfig = data; }
private void Page_Loaded(object sender, System.Windows.RoutedEventArgs e) { chartDataProvider = new ChartDataProvider(); ChartData chartData = chartDataProvider.GetChartData(); ScatterPoint[] malePoints = chartData.MaleScatterPoints .Select(p => new ScatterPoint(p.Percentage, p.Age, p.Weight)) .ToArray(); ScatterPoint[] femalePoints = chartData.FemaleScatterPoints .Select(p => new ScatterPoint(p.Percentage, p.Age, p.Weight)) .ToArray(); SeriesCollection = new SeriesCollection { new ScatterSeries { Title = "Férfi", PointGeometry = DefaultGeometries.Circle, MinPointShapeDiameter = 15, MaxPointShapeDiameter = 45, Values = new ChartValues <ScatterPoint>(malePoints) }, new ScatterSeries { Title = "Nő", PointGeometry = DefaultGeometries.Triangle, MinPointShapeDiameter = 15, MaxPointShapeDiameter = 45, Values = new ChartValues <ScatterPoint>(femalePoints) }, }; PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(SeriesCollection))); }
/// <summary> /// 销量走势图 /// </summary> /// <param name="app"></param> /// <param name="title"></param> /// <returns></returns> private async Task <ChartViewConfig> SaleTrendChatPage_Chart(Module app, string title) { ChartViewConfig chartData = null; try { var result = await _reportingService.GetSaleTrendingAsync("day", 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 = DCMS.ChartJS.ChartTypes.Line, data = ChartDataProvider.GetSaleTrendChat(series), } }; } return(chartData); } catch (Exception ex) { Crashes.TrackError(ex); return(chartData); } }
public void Refresh(List <UnSaleRanking> series) { RankSeries = new ObservableCollection <UnSaleRanking>(series); TotalSumReturnAmount = series.Select(s => s.TotalSumReturnAmount).Sum(); TotalSumNetAmount = series.Select(s => s.TotalSumNetAmount).Sum(); var ranks = series.ToList(); if (ranks.Count > 10) { ranks = ranks.Take(10).ToList(); } var data = new ChartViewConfig() { BackgroundColor = Color.White, ChartConfig = new ChartConfig { type = Wesley.ChartJS.ChartTypes.Line, data = ChartDataProvider.GetUnsalable(ranks), } }; ChartConfig = data; }
private void RefreshData(List <SaleTrending> series) { int i = 0; Random random = new Random(); if (series == null || series.Count == 0) { for (i = 1; i <= DateTime.DaysInMonth(DateTime.Now.Year, DateTime.Now.Month); i++) { series.Add(new SaleTrending() { DateType = "DAY", NetAmount = random.Next(200), SaleAmount = random.Next(200), SaleDateName = DateTime.Now.AddDays(i).ToString("yyyy-MM-dd"), SaleReturnAmount = random.Next(200), SaleDate = DateTime.Now.AddDays(i) }); } } string[] weekdays = { "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六" }; series.ForEach(d => { if ("DAY" == d.DateType.ToUpper()) { d.SaleDateName = d.SaleDate.ToString("yyyy/MM/dd"); } else if ("WEEK" == d.DateType.ToUpper()) { d.SaleDateName = weekdays[Convert.ToInt32(d.SaleDate.DayOfWeek)]; } else if ("MONTH" == d.DateType.ToUpper()) { d.SaleDateName = d.SaleDate.ToString("yyyy-MM"); } }); RankSeries = new ObservableCollection <SaleTrending>(series); TotalAmount = RankSeries.Select(s => s.NetAmount).Sum(); var ranks = series.ToList(); if (ranks.Count > 10) { ranks = ranks.Take(10).ToList(); } var data = new ChartViewConfig() { BackgroundColor = Color.White, ChartConfig = new ChartConfig { type = DCMS.ChartJS.ChartTypes.Line, data = ChartDataProvider.GetSaleTrendChat(ranks), } }; ChartConfig = data; }
public void Refresh(List <CustomerActivityRanking> analysis) { RankSeries = new ObservableCollection <CustomerActivityRanking>(analysis); 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.Line, data = ChartDataProvider.GetCustomerActivity(ranks), } }; ChartConfig = data; }