public WeeklySummary GetWeeklySummary(DateTime currentLocalTime, Orders.OrderService orderService) { WeeklySummary result = new WeeklySummary(); AddThisWeekData(result, currentLocalTime, orderService); AddLastWeekData(result, currentLocalTime, orderService); return(result); }
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 }
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; }
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; }
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; }