Esempio n. 1
0
        protected DataTable GenerateExcelData(List <int> channels, List <int> products, DateTime date)
        {
            CanonMainMonitor monitor = new CanonMainMonitor(Cdb.ConnectionString);

            monitor.Date           = date;
            monitor.ChannelIds     = channels;
            monitor.ProductIds     = products;
            monitor.PriceCondition = this.GetPriceCondition();
            DataSet ds = monitor.GetMainMonitorValues();

            if (ds.Tables.Count > 0)
            {
                return(ds.Tables[0]);
            }
            return(null);
        }
Esempio n. 2
0
        protected void Bind()
        {
            if ((!this.IsCallback) && (!this.IsPostBack))
            {
                //Restore filter from cookies
                this.LoadFilterFromCookies();
                this.InitialFilterBind();
                SessionManager.CurrentCategories = this.GetListOfCategories();
            }
            //Get main results
            try
            {
                List <int> channelIds = (SessionManager.CurrentChannels.Count == 0)?this.GetListOfChannels()
                                                                                :SessionManager.CurrentChannels;
                List <int> categoryIds = (SessionManager.CurrentCategories.Count == 0)?this.GetListOfCategories()
                                                                                :SessionManager.CurrentCategories;
                SessionManager.CurrentChannels   = channelIds;
                SessionManager.CurrentCategories = categoryIds;

                CanonMainMonitor monitor = new CanonMainMonitor(Cdb.ConnectionString);
                monitor.Date           = deDate.Date;
                monitor.ChannelIds     = channelIds;
                monitor.PriceCondition = this.GetPriceCondition();
                if (categoryIds != null)
                {
                    monitor.CategoryIds = categoryIds;
                }
                if (!string.IsNullOrEmpty(txtProduct.Text.Trim()))
                {
                    monitor.ProductName = Memos.Framework.Utilities.TruncateString(txtProduct.Text.Trim(), 300);
                }
                mappingRules = monitor.GetMappingRules();
                DataSet ds = monitor.GetMainMonitorValues();
                //get sorting settings before columns clearing
                DevExpress.Data.ColumnSortOrder sortOrder = DevExpress.Data.ColumnSortOrder.None;
                string sortColumn = string.Empty;
                foreach (GridViewColumn gvc in gridMainMonitor.Columns)
                {
                    GridViewDataColumn gvdc = gvc as GridViewDataColumn;
                    if (gvdc != null)
                    {
                        if (gvdc.SortOrder != DevExpress.Data.ColumnSortOrder.None)
                        {
                            sortColumn = gvdc.FieldName;
                            sortOrder  = gvdc.SortOrder;
                        }
                    }
                }
                gridMainMonitor.Columns.Clear();
                GridViewCommandColumn col0 = new GridViewCommandColumn();
                col0.ShowSelectCheckbox          = true;
                col0.VisibleIndex                = 0;
                col0.HeaderTemplate              = new CommandColumnHeaderTemplate(gridMainMonitor, "selCheckbox", "gridMainMonitorSelectionBox");
                col0.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
                col0.HeaderStyle.VerticalAlign   = VerticalAlign.Middle;
                gridMainMonitor.Columns.Add(col0);
                int visIndex = 1;
                foreach (DataColumn dc in ds.Tables[0].Columns)
                {
                    GridViewDataTextColumn col1 = new GridViewDataTextColumn();
                    col1.Caption      = this.LocalizeColumnName(dc.ColumnName);
                    col1.FieldName    = dc.ColumnName;
                    col1.VisibleIndex = visIndex++;
                    if (dc.ColumnName == "ProductId")
                    {
                        col1.Visible = false;
                    }
                    if ((!string.IsNullOrEmpty(sortColumn)) && (col1.FieldName == sortColumn))
                    {
                        col1.SortOrder = sortOrder;
                    }
                    col1.Settings.SortMode = DevExpress.XtraGrid.ColumnSortMode.Custom;
                    gridMainMonitor.Columns.Add(col1);
                }
                gridMainMonitor.SettingsPager.PageSize = int.Parse(cbPageSize.SelectedItem.Value.ToString());
                gridMainMonitor.DataSource             = ds.Tables[0];
                gridMainMonitor.DataBind();
                gridMainMonitor.JSProperties["cpRowsCount"] = gridMainMonitor.VisibleRowCount;
            }
            catch (Exception ex)
            {
                Logger.Log(string.Format("exception {0}", ex.ToString()), LogLevel.Error);
                gridMainMonitor.Columns.Clear();
                gridMainMonitor.DataSource = null;
                gridMainMonitor.DataBind();
            }
        }