Пример #1
0
        public WeeklySummary GetWeeklySummary(DateTime currentLocalTime, Orders.OrderService orderService)
        {
            WeeklySummary result = new WeeklySummary();

            AddThisWeekData(result, currentLocalTime, orderService);
            AddLastWeekData(result, currentLocalTime, orderService);

            return(result);
        }
Пример #2
0
        public void AddSampleData(WeeklySummary result)
        {
            result.Monday    = 500.23m;
            result.Tuesday   = 750.01m;
            result.Wednesday = 421.75m;
            result.Thursday  = 647.00m;
            result.Friday    = 541.94m;
            result.Saturday  = 354.11m;
            result.Sunday    = 402.04m;

            result.MondayLast    = 0m;      // zero
            result.TuesdayLast   = 610.44m; // less
            result.WednesdayLast = 422.01m; // more by a litte
            result.ThursdayLast  = 567.17m; // less
            result.FridayLast    = 541.94m; // same
            result.SaturdayLast  = 414.55m; // more
            result.Sunday        = 288.95m; // less
        }
Пример #3
0
        public void AddSampleData(WeeklySummary result)
        {
            result.Monday = 500.23m;
            result.Tuesday = 750.01m;
            result.Wednesday = 421.75m;
            result.Thursday = 647.00m;
            result.Friday = 541.94m;
            result.Saturday = 354.11m;
            result.Sunday = 402.04m;

            result.MondayLast = 0m; // zero
            result.TuesdayLast = 610.44m; // less
            result.WednesdayLast = 422.01m; // more by a litte
            result.ThursdayLast = 567.17m; // less
            result.FridayLast = 541.94m; // same
            result.SaturdayLast = 414.55m; // more
            result.Sunday = 288.95m; // less
        }
Пример #4
0
        private void AddLastWeekData(WeeklySummary result, DateTime currentLocalTime, Orders.OrderService orderService)
        {
            Utilities.DateRange rangeData = new Utilities.DateRange();
            rangeData.RangeType = Utilities.DateRangeType.LastWeek;
            rangeData.CalculateDatesFromType(currentLocalTime);

            int totalCount = 0;
            List <Orders.OrderTransaction> data = orderService.Transactions.FindForReportByDateRange(rangeData.StartDate.ToUniversalTime(),
                                                                                                     rangeData.EndDate.ToUniversalTime(),
                                                                                                     _StoreId, int.MaxValue, 1, ref totalCount);

            decimal m = 0;
            decimal t = 0;
            decimal w = 0;
            decimal r = 0;
            decimal f = 0;
            decimal s = 0;
            decimal y = 0;

            foreach (Orders.OrderTransaction ot in data)
            {
                switch (ot.TimeStampUtc.ToLocalTime().DayOfWeek)
                {
                case DayOfWeek.Monday:
                    m += ot.AmountAppliedToOrder;
                    break;

                case DayOfWeek.Tuesday:
                    t += ot.AmountAppliedToOrder;
                    break;

                case DayOfWeek.Wednesday:
                    w += ot.AmountAppliedToOrder;
                    break;

                case DayOfWeek.Thursday:
                    r += ot.AmountAppliedToOrder;
                    break;

                case DayOfWeek.Friday:
                    f += ot.AmountAppliedToOrder;
                    break;

                case DayOfWeek.Saturday:
                    s += ot.AmountAppliedToOrder;
                    break;

                case DayOfWeek.Sunday:
                    y += ot.AmountAppliedToOrder;
                    break;
                }
            }

            result.MondayLast    = m;
            result.TuesdayLast   = t;
            result.WednesdayLast = w;
            result.ThursdayLast  = r;
            result.FridayLast    = f;
            result.SaturdayLast  = s;
            result.SundayLast    = y;
        }
Пример #5
0
        private void AddLastWeekData(WeeklySummary result, DateTime currentLocalTime, Orders.OrderService orderService)
        {
            Utilities.DateRange rangeData = new Utilities.DateRange();
            rangeData.RangeType = Utilities.DateRangeType.LastWeek;
            rangeData.CalculateDatesFromType(currentLocalTime);

            int totalCount = 0;
            List<Orders.OrderTransaction> data = orderService.Transactions.FindForReportByDateRange(rangeData.StartDate.ToUniversalTime(),
                                                                    rangeData.EndDate.ToUniversalTime(),
                                                                    _StoreId, int.MaxValue, 1, ref totalCount);

            decimal m = 0;
            decimal t = 0;
            decimal w = 0;
            decimal r = 0;
            decimal f = 0;
            decimal s = 0;
            decimal y = 0;

            foreach (Orders.OrderTransaction ot in data)
            {
                switch (ot.TimeStampUtc.ToLocalTime().DayOfWeek)
                {
                    case DayOfWeek.Monday:
                        m += ot.AmountAppliedToOrder;
                        break;
                    case DayOfWeek.Tuesday:
                        t += ot.AmountAppliedToOrder;
                        break;
                    case DayOfWeek.Wednesday:
                        w += ot.AmountAppliedToOrder;
                        break;
                    case DayOfWeek.Thursday:
                        r += ot.AmountAppliedToOrder;
                        break;
                    case DayOfWeek.Friday:
                        f += ot.AmountAppliedToOrder;
                        break;
                    case DayOfWeek.Saturday:
                        s += ot.AmountAppliedToOrder;
                        break;
                    case DayOfWeek.Sunday:
                        y += ot.AmountAppliedToOrder;
                        break;
                }
            }

            result.MondayLast = m;
            result.TuesdayLast = t;
            result.WednesdayLast = w;
            result.ThursdayLast = r;
            result.FridayLast = f;
            result.SaturdayLast = s;
            result.SundayLast = y;
        }
Пример #6
0
        public WeeklySummary GetWeeklySummary(DateTime currentLocalTime, Orders.OrderService orderService)
        {
            WeeklySummary result = new WeeklySummary();

            AddThisWeekData(result, currentLocalTime, orderService);
            AddLastWeekData(result, currentLocalTime, orderService);
                                                                                            
            return result;
        }
        public void GenerateChart(WeeklySummary data, string chartTitle, int width, int height)
        {
            Chart c = new Chart();

            // Default Chart Styles
            c.ID = "DynamicChart";
            c.ImageType = ChartImageType.Png;
            c.RenderType = RenderType.BinaryStreaming;
            c.AntiAliasing = AntiAliasingStyles.All;
            c.Height = height;
            c.Width = width;
            c.BackColor = Color.White;
            //c.BorderSkin.SkinStyle = BorderSkinStyle.Sunken;
            c.BorderSkin.SkinStyle = BorderSkinStyle.None;

            // Default Chart Area
            ChartArea ca = c.ChartAreas.Add("Default");
            ca.BackGradientStyle = GradientStyle.TopBottom;
            ca.BackSecondaryColor = Color.White;
            ca.BackColor = Color.LightSteelBlue;
            ca.AxisX.IsMarginVisible = true;
            ca.AxisX.MajorGrid.Enabled = false;
            ca.AxisX.LineColor = Color.FromArgb(255, 200, 200, 200);
            ca.AxisX.LineWidth = 2;

            ca.AxisY.LineColor = ca.AxisX.LineColor;
            ca.AxisY.LineWidth = ca.AxisX.LineWidth;
            ca.AxisY.MajorGrid.LineColor = Color.FromArgb(200, 255, 255, 255);
            ca.AxisY.MajorGrid.LineWidth = 2;
            ca.AxisY.MinorGrid.LineColor = Color.FromArgb(100, 255, 255, 255);
            ca.AxisY.MinorGrid.LineWidth = 1;
            ca.AxisY.MinorGrid.Enabled = true;

            // Formating of Labels
            ca.AxisY.LabelStyle.Format = "c";

            // Default Title Settings
            Title t = c.Titles.Add("MainTitle");
            t.Text = chartTitle;
            t.Visible = true;
            t.Font = new Font("Verdana", 14, FontStyle.Bold);

            Legend l = new Legend("Last Week Legend");
            c.Legends.Add(l);

            // Custom Data Points
            Series s2 = c.Series.Add("Last Week");
            s2.ChartType = SeriesChartType.Column;

            s2.Color = Color.FromArgb(148, 168, 187);
            s2.BackSecondaryColor = Color.FromArgb(50, 148, 168, 187);
            s2.BackGradientStyle = GradientStyle.TopBottom;
            s2.BorderColor = Color.FromArgb(121, 137, 153);



            s2.BorderWidth = 1;
            s2.MarkerStyle = MarkerStyle.None;
            s2.MarkerSize = 1;
            s2.MarkerColor = Color.White;
            s2.MarkerBorderWidth = 2;
            s2.MarkerBorderColor = Color.FromArgb(200, 200, 0);


            if (data != null)
            {
                s2.Points.Add(SetDataPoint(data.SundayLast, "Sun"));
                s2.Points.Add(SetDataPoint(data.MondayLast, "Mon"));
                s2.Points.Add(SetDataPoint(data.TuesdayLast, "Tue"));
                s2.Points.Add(SetDataPoint(data.WednesdayLast, "Wed"));
                s2.Points.Add(SetDataPoint(data.ThursdayLast, "Thr"));
                s2.Points.Add(SetDataPoint(data.FridayLast, "Fri"));
                s2.Points.Add(SetDataPoint(data.SaturdayLast, "Sat"));

                //s1.Points.Add(SetDataPoint(data.Week, "TOTAL"));
            }


            // Custom Data Points
            Series s1 = c.Series.Add("This Week");
            //s1.ChartType = SeriesChartType.Area;
            s1.ChartType = SeriesChartType.Column;
            s1.Color = Color.FromArgb(235, 137, 9);
            s1.BackSecondaryColor = Color.FromArgb(50, 235, 137, 9);
            s1.BackGradientStyle = GradientStyle.TopBottom;
            s1.BorderColor = Color.FromArgb(158, 100, 27);
            s1.BorderWidth = 1;
            s1.MarkerStyle = MarkerStyle.None;// MarkerStyle.Circle;
            s1.MarkerSize = 1;
            s1.MarkerColor = Color.White;
            s1.MarkerBorderWidth = 2;
            s1.MarkerBorderColor = Color.FromArgb(200, 200, 0);


            if (data != null)
            {
                s1.Points.Add(SetDataPoint(data.Sunday, "Sun"));
                s1.Points.Add(SetDataPoint(data.Monday, "Mon"));
                s1.Points.Add(SetDataPoint(data.Tuesday, "Tue"));
                s1.Points.Add(SetDataPoint(data.Wednesday, "Wed"));
                s1.Points.Add(SetDataPoint(data.Thursday, "Thr"));
                s1.Points.Add(SetDataPoint(data.Friday, "Fri"));
                s1.Points.Add(SetDataPoint(data.Saturday, "Sat"));

                //s1.Points.Add(SetDataPoint(data.Week, "TOTAL"));
            }



            ca.AxisX.IntervalType = DateTimeIntervalType.Auto;
            //ca.AxisX.IntervalType = DateTimeIntervalType.Days;
            //ca.AxisX.LabelStyle.Format = "d";


            // Render Chart            
            MemoryStream img = new MemoryStream();
            c.SaveImage(img);
            OutputContentType = "image/png";
            Stream = img;
        }