Пример #1
0
        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();
            }
        }
Пример #2
0
        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.
        }