Esempio n. 1
0
        /*
         * Метод перелистывания страниц в гриде
         */
        protected void Store1_RefreshData(object sender, Ext.Net.StoreRefreshDataEventArgs e)
        {
            DataSet data = null;
            List<GridColumn> columns = new List<GridColumn>();

            using (ContentDomain provider = Common.GetContentDomain(ClassifiacationTypeView))
            {
                Domain.OrderExpression OrderExpression = new OrderExpression();
                if (e.Sort.Length > 0)
                {
                    string expr = e.Sort.Split('|')[0];
                    string tp = e.Sort.Split('|')[1];
                    OrderExpression.Expression = expr;
                    OrderExpression.ColumnType = (TypeEnum)Enum.Parse(typeof(TypeEnum), tp);
                }

                if (e.Dir == Ext.Net.SortDirection.DESC)
                    OrderExpression.SortDirection = Aspect.Domain.SortDirection.desc;

                List<SearchExpression> listSearch = this.SearchConditions.ToList();
                // показывать только выбранные
                if (this.ShowSelected && !String.IsNullOrEmpty(hiddenSelectedProducts.Value.ToString()))
                {
                    SearchExpression selected = new SearchExpression();
                    selected.FieldCond = Condition.Inset;
                    selected.FieldValue = hiddenSelectedProducts.Value.ToString();
                    selected.FieldName = "ID";
                    listSearch.Add(selected);
                }
                // показывать основные версии
                if (FilterView.Value.ToString().Contains("mainVers"))
                {
                    SearchExpression mainVers = new SearchExpression();
                    mainVers.FieldID = new Guid("BBE170B0-28E4-4738-B365-1038B03F4552"); //основная версия
                    mainVers.FieldValue = "1";
                    listSearch.Add(mainVers);
                }
                // показывать приказные версии
                if (FilterView.Value.ToString().Contains("prikazVers"))
                {
                    SearchExpression mainVers = new SearchExpression();
                    mainVers.FieldCond = Condition.Beable;
                    mainVers.FieldValue = "9A38E338-DD60-4636-BFE3-6A98BAF8AE87"; // номер приказала
                    listSearch.Add(mainVers);
                }

                // получить страницу из списка продуктов, попадающих под все заданные условия
                data = provider.GetList(RequestClassificationTreeID, this.User.ID, OrderExpression, listSearch, new PagingInfo(e.Start, e.Limit));
                columns = provider.GetGridColumns(this.User.ID, RequestClassificationTreeID, FieldPlaceHolder.Grid);
            }
            if (data != null && data.Tables.Count > 0)
            {
                e.Total = data.Tables[1].Rows[0].Field<int>(0);
                List<object> dataSource = new List<object>();

                foreach (DataRow row in data.Tables[2].Rows)
                {
                    List<object> dataRow = new List<object>();
                    foreach (GridColumn column in columns)
                    {
                        if (column.GridColumnType == TypeEnum.Boolean)
                        {
                            dataRow.Add(row[column.DataItem].ToString() == "1");
                        }
                        else if (column.GridColumnType == TypeEnum.Datetime)
                        {
                            try
                            {
                                dataRow.Add(row.Field<DateTime>(column.DataItem).ToString("yyyy-MM-dd HH:mm:ss.fff"));
                            }
                            catch
                            {
                                dataRow.Add(row[column.DataItem].ToString());
                            }
                        }
                        else
                        {
                            dataRow.Add(row[column.DataItem].ToString());
                        }
                    }
                    // adding another field
                    dataRow.Add(row["ID"].ToString());
                    dataRow.Add(ClassifiacationTypeView == ClassifiacationTypeView.Dictionary ? this.RequestClassificationTreeID : Guid.Empty);
                    dataSource.Add(dataRow.ToArray());
                }
                this.Store1.DataSource = dataSource;
                this.Store1.DataBind();
            }
        }
Esempio n. 2
0
        protected void BindData(Dictionary<Guid, Guid> productsConfigurations)
        {
            using (EditConfigurationProvider provider = new EditConfigurationProvider())
            {
                System.Data.DataTable dt = provider.GetList(ProductID).Tables[0];
                if (productsConfigurations.Count > 0)
                {
                    System.Data.DataTable bfDt = provider.GetAppendList(productsConfigurations).Tables[0];
                    dt.Merge(bfDt);
                }

                // FOR NEW
                using (EditConfigurationProvider prov = new EditConfigurationProvider())
                {
                    List<object> lst = new List<object>();

                    List<ColumnWidth> columnWidths = provider.ColumnWidths.Where(p => p.ClassificationTreeID == new Guid("11110000-0000-0000-0000-000011110001") && p.UserID == this.User.ID).ToList();
                    List<GridColumn> list = prov.GetGridColumns();
                    list = list.OrderBy(clm => columnWidths.Exists(w => w.ColumnID == clm.ID) ? columnWidths.Single(w => w.ColumnID == clm.ID).Index : Int32.MaxValue).ToList();

                    foreach (DataRow row in dt.Rows)
                    {
                        List<object> lst_sub = new List<object>();
                        foreach (GridColumn column in list)
                        {
                            if (column.GridColumnType == TypeEnum.Boolean)
                            {
                                if (row[column.DataItem].ToString() == "0") lst_sub.Add(false);
                                else lst_sub.Add(true);
                            }
                            else
                            {
                                lst_sub.Add(row[column.DataItem].ToString());
                            }
                        }
                        // дополнительные поля
                        lst_sub.Add(row["ID"].ToString());
                        lst_sub.Add(this.RequestClassificationTreeID.ToString());
                        lst_sub.Add(row["ConfigurationID"].ToString());
                        lst.Add(lst_sub.ToArray());
                    }

                    Store1.DataSource = lst;
                    Store1.DataBind();
                }

                //EditConfigurationGrid.DataSource = dt;
                //EditConfigurationGrid.DataBind();

                // загружаем основание изменений
                ProductProperty reasonProperty = provider.ProductProperties.SingleOrDefault(
                    pr => pr.PropertyID == new Guid("C266B994-9740-41F6-94DD-07EA5B5FA34A")
                    && pr.ProductID == this.ProductID);

                if (reasonProperty != null)
                {
                    ReasonChanges.Text = reasonProperty.Value;
                }
            }
        }