Пример #1
0
        public static ChartData GetVisitingRate(CustomerVistAnalysis analysis)
        {
            float up = 100;

            if (analysis.TotalCustomer - analysis.Today.VistCount != 0)
            {
                if (analysis.TotalCustomer == 0)
                {
                    analysis.TotalCustomer = 1;
                }
                up = (float)((analysis.TotalCustomer - analysis.Today.VistCount) / analysis.TotalCustomer) * 100;
            }

            var labels   = new string[] { "总客户数", "拜访数", "拜访数", };
            var dataSets = new List <ChartFloatDataset>();

            var colors = RandomChartBuilder.GetDefaultColors();

            var datas = new float[] { analysis.TotalCustomer, (float)(analysis?.Today?.Percentage), (up == 0 ? 100 : up) };

            dataSets.Add(new ChartFloatDataset
            {
                type            = Wesley.ChartJS.ChartTypes.Pie,
                label           = "客户拜访分析",
                data            = datas,
                tension         = 0.4,
                backgroundColor = datas.Select((d, i) =>
                {
                    var color = colors[i % colors.Count];
                    return($"rgb({color.Item1},{color.Item2},{color.Item3})");
                })
            });

            return(new ChartData()
            {
                datasets = dataSets,
                labels = labels
            });
        }
Пример #2
0
        private ChartData GetChartData(CustomerVistAnalysis analysis)
        {
            var labels = new[] { "今日拜访", "昨天拜访", "前天拜访", "上周拜访", "本周拜访", "上月拜访", "本年拜访" }.ToList();
            var dataSets = new List <ChartNumberDataset>();

            var colors = RandomChartBuilder.GetDefaultColors();

            var datas = new int[]
            {
                analysis.Today?.VistCount ?? 0,
                analysis.Yesterday?.VistCount ?? 0,
                analysis.BeforeYesterday?.VistCount ?? 0,
                analysis.LastWeek?.VistCount ?? 0,
                analysis.ThisWeek?.VistCount ?? 0,
                analysis.LastMonth?.VistCount ?? 0,
                analysis.ThisYear?.VistCount ?? 0,
            };



            dataSets.Add(new ChartNumberDataset
            {
                type            = Wesley.ChartJS.ChartTypes.Bar,
                label           = "客户拜访分析",
                data            = datas,
                backgroundColor = datas.Select((d, i) =>
                {
                    var color = colors[i % colors.Count];
                    return($"rgb({color.Item1},{color.Item2},{color.Item3})");
                })
            });

            return(new ChartData()
            {
                datasets = dataSets,
                labels = labels
            });
        }