private DataTable CreateDataAndLabel(DateTime startOrderDate, DateTime endOrderDate) { DateTime day; int numDay; DataTable table = new DataTable(); CustomerReportBuilder customerReportBuilder = new CustomerReportBuilder(); if (Period == PeriodType.LastMonth) { day = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1).AddMonths(-1); numDay = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1).AddDays(-1).Day; table = customerReportBuilder.GetCustomerReport(startOrderDate, endOrderDate); CreateMonthData(table, day, numDay); } else if (Period == PeriodType.Last30Days) { day = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day).AddDays(-30); numDay = 30; table = customerReportBuilder.GetCustomerReport(startOrderDate, endOrderDate); CreateMonthData(table, day, numDay); } else if (Period == PeriodType.Last7Days) { day = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day).AddDays(-7); numDay = 7; table = customerReportBuilder.GetCustomerReport(startOrderDate, endOrderDate); CreateMonthData(table, day, numDay); } else if (Period == PeriodType.Today) { day = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 0, 0, 0); table = customerReportBuilder.GetOneDayCustomerReport(startOrderDate, endOrderDate); CreateDayData(table, day); } else if (Period == PeriodType.Yesterday) { day = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 0, 0, 0).AddDays(-1); table = customerReportBuilder.GetOneDayCustomerReport(startOrderDate, endOrderDate); CreateDayData(table, day); } else if (Period == PeriodType.Last24Hours) { day = DateTime.Now.AddHours(-23); table = customerReportBuilder.Get24HoursCustomerReport(startOrderDate, endOrderDate); CreateDayData(table, day); } else if (Period == PeriodType.ThisMonth) { day = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1); numDay = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1).AddMonths(1).AddSeconds(-1).Day; table = customerReportBuilder.GetCustomerReport(startOrderDate, endOrderDate); CreateMonthData(table, day, numDay); } else if (Period == PeriodType.ThisYear) { day = new DateTime(DateTime.Now.Year, 1, 1); int numMonth = 12; table = customerReportBuilder.GetYearCustomerReport(startOrderDate, endOrderDate); CreateYearData(table, day, numMonth); } else if (Period == PeriodType.Last3Years) { day = new DateTime(DateTime.Now.Year, 1, 1).AddYears(-2); int numMonth = 36; table = customerReportBuilder.GetYearCustomerReport(startOrderDate, endOrderDate); CreateYearData(table, day, numMonth); } else if (Period == PeriodType.Custom) { PeriodType customPeriod = ReportFilterUtilities.ResolveCustomPeriodType(startOrderDate, endOrderDate); if (customPeriod == PeriodType.ThisYear) { day = new DateTime(startOrderDate.Year, startOrderDate.Month, startOrderDate.Day); int yearDiff = endOrderDate.Year - startOrderDate.Year; int monthDiff = endOrderDate.Month - startOrderDate.Month; yearDiff = yearDiff * 12; int numMonth = yearDiff + monthDiff; table = customerReportBuilder.GetYearCustomerReport(startOrderDate, endOrderDate); CreateYearData(table, day, numMonth + 1); } else if (customPeriod == PeriodType.Today) { table = customerReportBuilder.GetOneDayCustomerReport(startOrderDate, endOrderDate); CreateDayData(table, startOrderDate); } else { TimeSpan dateDifference = endOrderDate.Subtract(startOrderDate); int days = dateDifference.Days; table = customerReportBuilder.GetCustomerReport(startOrderDate, endOrderDate); CreateMonthData(table, startOrderDate, days + 1); } } return(table); }
private void RefreshGrid() { if (!MainContext.IsPostBack) { uxPagingControl.ItemsPerPages = AdminConfig.OrderItemsPerPage; } int totalItems; _errorFlag = false; PeriodType period = ReportFilterUtilities.ConvertToPeriodType(uxPeriodDrop.SelectedValue); CustomerReportType customerReportType = ReportFilterUtilities.ConvertToCustomerReportType(uxReportDrop.SelectedValue); if (period == PeriodType.Custom) { string errorMessage; if (VerifyCustomInput(out errorMessage)) { LoadCustomInput(); } else { uxMessage.DisplayError(errorMessage); uxMessage1.Visible = false; _errorFlag = true; return; } } else { ReportFilterUtilities.GetOrderDateRange(period, out _startOrderDate, out _endOrderDate); } CustomerReportBuilder customerReportBuilder = new CustomerReportBuilder(); if (customerReportType != CustomerReportType.UserRegistration) { _table = customerReportBuilder.GetTopCustomerReportData( GridHelper1.GetFullSortText(), period, customerReportType, uxNumberItemsDrop.SelectedItem.ToString(), _startOrderDate, _endOrderDate, uxPagingControl.StartIndex, uxPagingControl.EndIndex, out totalItems); uxTopCustomerGrid.DataSource = _table; uxTopCustomerGrid.DataBind(); uxTopCustomerGrid.Visible = true; uxGrid.Visible = false; uxPadding.Visible = false; if (_table.Rows.Count > 0) { uxTitleLabel.Visible = true; setTitle(); } else { uxTitleLabel.Visible = false; } } else { _table = customerReportBuilder.GetCustomerReportData( GridHelper.GetFullSortText(), period, _startOrderDate, _endOrderDate, uxPagingControl.StartIndex, uxPagingControl.EndIndex, out totalItems); uxGrid.DataSource = _table; uxGrid.DataBind(); uxGrid.Visible = true; uxTopCustomerGrid.Visible = false; uxPadding.Visible = true; uxTitleLabel.Visible = false; } uxPagingControl.NumberOfPages = (int)Math.Ceiling((double)totalItems / uxPagingControl.ItemsPerPages); setCustomDateDisplay(); }