private void PopulateControls() { if (module == null) { return; } Title = SiteUtils.FormatPageTitle(siteSettings, module.ModuleTitle + " - " + Resource.CommerceReportItemSales); heading.Text = module.ModuleTitle + " - " + Resource.CommerceReportItemSales; lnkModuleReport.Text = module.ModuleTitle; lnkModuleReport.NavigateUrl = SiteRoot + "/Admin/SalesByModule.aspx?m=" + moduleGuid.ToString(); using (IDataReader reader = CommerceReport.GetItemsPageByModule( moduleGuid, pageNumber, pageSize, out totalPages)) { string pageUrl = SiteRoot + "/Admin/SalesItemReport.aspx" + "?m=" + moduleGuid.ToString() + "&pagenumber={0}"; pgrItems.PageURLFormat = pageUrl; pgrItems.ShowFirstLast = true; pgrItems.CurrentIndex = pageNumber; pgrItems.PageSize = pageSize; pgrItems.PageCount = totalPages; pgrItems.Visible = (totalPages > 1); grdItems.DataSource = reader; grdItems.PageIndex = pageNumber; grdItems.PageSize = pageSize; grdItems.DataBind(); } }
private void BindChart() { // line chart is very slow to render when there are lots of data points // bar chart is much faster zgSales.Visible = false; lcSales.Visible = true; if (salesByMonthData == null) { salesByMonthData = CommerceReport.GetSalesByYearMonthByModule(moduleGuid); } StringBuilder categories = new StringBuilder(); string comma = string.Empty; List <decimal> revenue = new List <decimal>(); // original data is sorted descending on Y, M resorting here DataRow[] result = salesByMonthData.Select(string.Empty, "Y ASC, M ASC"); int spaceInterval = 0; int totalItems = result.Length; int itemsAdded = 0; if (totalItems > 12) { spaceInterval = 4; } int nextItemToShow = 0; foreach (DataRow row in result) { categories.Append(comma); if (itemsAdded == nextItemToShow) { categories.Append(row["Y"].ToString()); categories.Append("-"); categories.Append(row["M"].ToString()); nextItemToShow = itemsAdded + spaceInterval; } comma = ","; revenue.Add(Convert.ToDecimal(row["Sales"])); itemsAdded += 1; } lcSales.ChartTitle = Resource.SalesByMonthChartLabel; lcSales.CategoriesAxis = categories.ToString(); LineChartSeries series = new LineChartSeries(); series.Name = Resource.SalesByMonthChartSalesLabel; series.Data = revenue.ToArray(); lcSales.Series.Add(series); //bcSales.CategoriesAxis //bcSales.Series. }