コード例 #1
0
        private void SetMonth(IndexModel model)
        {
            DateTime now         = DateTime.Now;
            DateTime currentDate = new DateTime(now.AddMonths(1).Year, now.AddMonths(1).Month, 1, 0, 0, 0);

            var WeekIncome = unit.LastVisitedProduct.GetLastEntry(currentDate.AddMonths(-6).ToUnix()).GroupBy(p => p.RegisterDate.PersianMonth()).Select(p => new { p.Key, Orders = p.ToList() }).ToList();

            for (int i = 0; i < 6; i++)
            {
                MonthSales ws = new MonthSales();
                ws.Month  = PersianDate.Parse(DateTime.Now.AddMonths(-i)).Month.ToString();
                ws.Income = 0;
                model.MonthSales.Add(ws);
            }
            foreach (var item in WeekIncome)
            {
                for (int i = 0; i < model.MonthSales.Count; i++)
                {
                    if (model.MonthSales[i].Month == item.Key)
                    {
                        model.MonthSales[i].Income += item.Orders.Count;
                    }
                }
            }
        }
コード例 #2
0
 private DateTime GetStartDate(MonthSales month)
 {
     if (month.Name == "January")
     {
         return(new DateTime(DateTime.Now.Year, 1, 1));
     }
     else if (month.Name == "February")
     {
         return(new DateTime(DateTime.Now.Year, 2, 1));
     }
     else if (month.Name == "March")
     {
         return(new DateTime(DateTime.Now.Year, 3, 1));
     }
     else if (month.Name == "April")
     {
         return(new DateTime(DateTime.Now.Year, 4, 1));
     }
     else if (month.Name == "May")
     {
         return(new DateTime(DateTime.Now.Year, 5, 1));
     }
     else if (month.Name == "June")
     {
         return(new DateTime(DateTime.Now.Year, 6, 1));
     }
     else if (month.Name == "July")
     {
         return(new DateTime(DateTime.Now.Year, 7, 1));
     }
     else if (month.Name == "August")
     {
         return(new DateTime(DateTime.Now.Year, 8, 1));
     }
     else if (month.Name == "September")
     {
         return(new DateTime(DateTime.Now.Year, 9, 1));
     }
     else if (month.Name == "October")
     {
         return(new DateTime(DateTime.Now.Year, 10, 1));
     }
     else if (month.Name == "November")
     {
         return(new DateTime(DateTime.Now.Year, 11, 1));
     }
     else
     {
         return(new DateTime(DateTime.Now.Year, 12, 1));
     }
 }
コード例 #3
0
ファイル: SalesUtil.cs プロジェクト: liangyy75/BSMS
        // 得到全部(order by time)
        public static List <MonthSales> GetAllMonthSales()
        {
            string            sql          = "select sum(number), sum(total_price), strftime(\"%m\", s_time) as month from sale group by month order by month desc";
            var               conn         = SqlUtil.conn;
            List <MonthSales> monthSaleses = new List <MonthSales>();

            using (var statement = conn.Prepare(sql))
            {
                while (statement.Step() == SQLiteResult.ROW)
                {
                    MonthSales monthSales = new MonthSales();
                    monthSales.TotalSaleNum = Int32.Parse(statement[0].ToString());
                    monthSales.TotalSales   = float.Parse(statement[1].ToString());
                    monthSales.Month        = int.Parse(statement[2].ToString());
                    monthSaleses.Add(monthSales);
                }
            }
            return(monthSaleses);
        }
コード例 #4
0
        public Highcharts ColumnWithDrilldownSector()
        {
            var months = new MonthSales[] {
                new MonthSales {
                    Name = "January", Scale = 1
                },
                new MonthSales {
                    Name = "February", Scale = 2
                },
                new MonthSales {
                    Name = "March", Scale = 3
                },
                new MonthSales {
                    Name = "April", Scale = 4
                },
                new MonthSales {
                    Name = "May", Scale = 5
                },
                new MonthSales {
                    Name = "June", Scale = 6
                },
                new MonthSales {
                    Name = "July", Scale = 7
                },
                new MonthSales {
                    Name = "August", Scale = 8
                },
                new MonthSales {
                    Name = "September", Scale = 9
                },
                new MonthSales {
                    Name = "October", Scale = 10
                },
                new MonthSales {
                    Name = "November", Scale = 11
                },
                new MonthSales {
                    Name = "December", Scale = 12
                }
            };


            var coursesNames = months.Select(x => x.Name).ToArray();

            List <MonthSales> firststTermCourseList = new List <MonthSales>();
            List <MonthSales> secondTermCourseList  = new List <MonthSales>();
            List <MonthSales> thirdTermCourseList   = new List <MonthSales>();
            List <MonthSales> fourthTermCourseList  = new List <MonthSales>();


            string[] firstTermSubjects  = coursesNames;
            string[] secondTermSubjects = coursesNames;
            string[] thirdTermSubjects  = coursesNames;
            string[] fourthTermSubjects = coursesNames;


            var firstTermData  = GetRandom(months, 1, ref firststTermCourseList);
            var secondTermData = GetRandom(months, 2, ref secondTermCourseList);
            var thirdTermData  = GetRandom(months, 3, ref thirdTermCourseList);
            var fourthTermData = GetRandom(months, 4, ref fourthTermCourseList);


            firstTermSubjects  = firststTermCourseList.Select(x => x.Name).ToArray();
            secondTermSubjects = secondTermCourseList.Select(x => x.Name).ToArray();
            thirdTermSubjects  = thirdTermCourseList.Select(x => x.Name).ToArray();
            fourthTermSubjects = fourthTermCourseList.Select(x => x.Name).ToArray();


            var p1 = (Number)GetActualData(1);
            var p2 = (Number)GetActualData(2);
            var p3 = (Number)GetActualData(3);
            var p4 = (Number)GetActualData(4);



            string[] categories = new[] { "1st Quarter", "2nd Quarter", "3rd Quarter", "4th Quarter" };
            string   strName    = " Year Sales";

            DotNet.Highcharts.Helpers.Data data = new DotNet.Highcharts.Helpers.Data(new[]
            {
                new Point
                {
                    Y         = p1,
                    Color     = System.Drawing.Color.FromName("colors[0]"),
                    Drilldown = new Drilldown
                    {
                        Name       = "1st Quarter",
                        Categories = firstTermSubjects,
                        Data       = firstTermData,
                        Color      = System.Drawing.Color.FromName("colors[0]")
                    }
                },
                new Point
                {
                    Y         = p2,
                    Color     = System.Drawing.Color.FromName("colors[1]"),
                    Drilldown = new Drilldown
                    {
                        Name       = "2nd Quarter",
                        Categories = secondTermSubjects,
                        Data       = secondTermData,
                        Color      = System.Drawing.Color.FromName("colors[1]")
                    }
                },
                new Point
                {
                    Y         = p3,
                    Color     = System.Drawing.Color.FromName("colors[2]"),
                    Drilldown = new Drilldown
                    {
                        Name       = "3rd Quarter",
                        Categories = thirdTermSubjects,
                        Data       = thirdTermData,
                        Color      = System.Drawing.Color.FromName("colors[2]")
                    }
                },
                new Point
                {
                    Y         = p4,
                    Color     = System.Drawing.Color.FromName("colors[3]"),
                    Drilldown = new Drilldown
                    {
                        Name       = "4th Quarter",
                        Categories = fourthTermSubjects,
                        Data       = fourthTermData,
                        Color      = System.Drawing.Color.FromName("colors[3]")
                    }
                }
            });

            Highcharts chart = new Highcharts("chart")
                               .InitChart(new Chart {
                DefaultSeriesType = ChartTypes.Column
            })
                               .SetTitle(new Title {
                Text = strName
            })
                               .SetSubtitle(new Subtitle {
                Text = "Click the columns for Quarter View. Click again for Month View."
            })
                               .SetXAxis(new XAxis {
                Categories = categories
            })
                               .SetYAxis(new YAxis {
                Title = new YAxisTitle {
                    Text = "Sales (NGN)"
                }
            })
                               .SetLegend(new Legend {
                Enabled = false
            })
                               .SetTooltip(new Tooltip {
                Formatter = "TooltipFormatter"
            })
                               .SetPlotOptions(new PlotOptions
            {
                Column = new PlotOptionsColumn
                {
                    Cursor = Cursors.Pointer,
                    Point  = new PlotOptionsColumnPoint {
                        Events = new PlotOptionsColumnPointEvents {
                            Click = "ColumnPointClick"
                        }
                    },
                    DataLabels = new PlotOptionsColumnDataLabels
                    {
                        Enabled   = true,
                        Color     = System.Drawing.Color.FromName("colors[0]"),
                        Formatter = "function() { return this.y +' '; }",
                        Style     = "fontWeight: 'bold'"
                    }
                }
            })
                               .SetSeries(new Series
            {
                Name  = "Sales",
                Data  = data,
                Color = System.Drawing.Color.White
            })
                               .SetExporting(new Exporting {
                Enabled = false
            })
                               .AddJavascripFunction(
                "TooltipFormatter",
                @"var point = this.point, s = this.x +':<b>'+ this.y +' </b><br/>';
                      if (point.drilldown) {
                        s += 'Click to view by '+ point.category +' results';
                      } else {
                        s += 'Click to return to Quarter View';
                      }
                      return s;"
                )
                               .AddJavascripFunction(
                "ColumnPointClick",
                @"var drilldown = this.drilldown;
                      if (drilldown) { // drill down
                        setChart(drilldown.name, drilldown.categories, drilldown.data.data, drilldown.color);
                      } else { // restore
                        setChart(name, categories, data.data);
                      }"
                )
                               .AddJavascripFunction(
                "setChart",
                @"chart.xAxis[0].setCategories(categories);
                      chart.series[0].remove();
                      chart.addSeries({
                         name: name,
                         data: data,
                         color: color || 'white'
                      });",
                "name", "categories", "data", "color"
                )
                               .AddJavascripVariable("colors", "Highcharts.getOptions().colors")
                               .AddJavascripVariable("name", "'{0}'".FormatWith(strName))
                               .AddJavascripVariable("categories", JsonSerializer.Serialize(categories))
                               .AddJavascripVariable("data", JsonSerializer.Serialize(data));

            return(chart);
        }