public void InitValues(StorageValues storageValues, bool initInvisible) { if (Plugin == null) { throw new Exception("Свойство Plugin не может быть равен null"); } foreach (var filter in Plugin.Conditions) { if (!filter.Visible && !initInvisible) { continue; } var storage = filter.ColumnFilter.GetStorage(); storageValues.SetStorage(storage); filter.ColumnFilter.SetStorage(storage); } Plugin.SetCountCircleFillConditions(storageValues.CountListValues, true); for (int i = 0; i < storageValues.CountListValues; i++) { foreach (var filter in Plugin.CircleFillConditions[i]) { if (!filter.Visible && !initInvisible) { continue; } var storage = filter.ColumnFilter.GetStorage(); storageValues.SetListStorage(storage, i); filter.ColumnFilter.SetStorage(storage); } } }
private void LoadFiltersState() { var sid = GetSidBytes(); // Loading user dependend filters state settings // In case there is no user setting apply default settings StorageValues storageValues = StorageValues.GetStorageValues(string.Format("{0}_{1}", Page.AppRelativeVirtualPath, ClientID), sid); if (storageValues != null) { foreach (ColumnFilterStorage storage in ColumnFilterStorages) { storageValues.SetStorage(storage); } } else { WebInitializer.Initialize(); foreach (ColumnFilterStorage storage in ColumnFilterStorages) { ColumnFilterType columnFilterType = (ColumnFilterType)(DataSetResourceManager.GetColumnExtProperty( dataTable.Columns[storage.Name], ColumnExtProperties.FILTER_DEFAULT_CONDITION) ?? ColumnFilterType.None); if (columnFilterType != ColumnFilterType.None) { if (!dataTable.Columns.Contains(storage.Name)) { continue; } object[] values = new object[2]; values[0] = DataSetResourceManager.GetColumnExtProperty(dataTable.Columns[storage.Name], ColumnExtProperties.FILTER_DEFAULT_VALUE_1) ?? null; values[1] = DataSetResourceManager.GetColumnExtProperty(dataTable.Columns[storage.Name], ColumnExtProperties.FILTER_DEFAULT_VALUE_2) ?? null; string codeField = (String)DataSetResourceManager.GetColumnExtProperty(dataTable.Columns[storage.Name], ColumnExtProperties.FILTER_DEFAULT_VALUE_CODE_FIELD); if (storage.IsRefBound && !string.IsNullOrEmpty(codeField)) { for (int i = 0; i < values.Length; i++) { if (values[i] != null) { DataTable table = (DataTable)storage.RefDataSource; QueryConditionList queryConditionList = new QueryConditionList(); QueryCondition queryCondition = new QueryCondition(codeField, ColumnFilterType.Equal, values[i], null); queryConditionList.Add(queryCondition); Type tableAdapterType = TableAdapterTools.GetTableAdapterType(table.GetType()); QueryGenerator queryGenerator; if (table.Columns.IndexOf("dateEnd") != -1 && table.Columns.IndexOf("dateStart") != -1) { Component adapter = HistoricalData.GetTableAdapterToHistoricalData("dateEnd", "dateStart", DateTime.Now, tableAdapterType, 0); queryGenerator = new QueryGenerator(adapter); } else { queryGenerator = new QueryGenerator(table); } queryGenerator.TopCount = 1; queryGenerator.Fill(table, queryConditionList); if (table.Rows.Count != 0) { values[i] = table.Rows[0][storage.ValueColumn]; } } } } storage.FilterType = columnFilterType; try { for (int i = 0; i != 2; i++) { if (values[i] != null) { storage.SetValue(i, Convert.ChangeType(values[i], storage.DataType)); } } } catch (InvalidCastException) { } } } } }
public static void CreateReportSubscriptionParams( DBDataContext db, long refReportSubscriptions, List <BaseReportCondition> conditionsRu, List <BaseReportCondition> conditionsKz, PlaceHolder ph, StorageValues values, int?index) { var i = -1; foreach (var conditionRu in conditionsRu) { i++; if (!conditionRu.Visible) { continue; } var conditionKz = conditionsKz[i]; ph.Controls.Add((Control)conditionRu.ColumnFilter); var storageRu = conditionRu.ColumnFilter.GetStorage(); if (index == null) { values.SetStorage(storageRu); } else { values.SetListStorage(storageRu, index.Value); } conditionRu.ColumnFilter.SetStorage(storageRu); ph.Controls.Add((Control)conditionKz.ColumnFilter); var storageKz = conditionKz.ColumnFilter.GetStorage(); if (index == null) { values.SetStorage(storageKz); } else { values.SetListStorage(storageKz, index.Value); } conditionKz.ColumnFilter.SetStorage(storageKz); string[] textValues = conditionsKz[i].ColumnFilter.GetTexts(); var paramTextValuesKz = string.Empty; if (textValues != null) { paramTextValuesKz = string.Join(", ", textValues); } var paramCaptionKz = storageKz.Caption; var paramTextValuesRu = string.Empty; textValues = conditionRu.ColumnFilter.GetTexts(); if (textValues != null) { paramTextValuesRu = string.Join(", ", textValues); } var paramCaptionRu = storageRu.Caption; var record = new ReportSubscriptions_Param { refReportSubscriptions = refReportSubscriptions, ParamName = storageRu.Name, ParamCaptionKz = paramCaptionKz, ParamCaptionRu = paramCaptionRu, ParamTextValuesKz = paramTextValuesKz, ParamTextValuesRu = paramTextValuesRu, DynamicAttributeIndex = index, ParamDataType = storageRu.DataType.Name, ParamFilterType = storageRu.FilterType.ToString() }; db.ReportSubscriptions_Params.InsertOnSubmit(record); ph.Controls.Remove((Control)conditionRu.ColumnFilter); ph.Controls.Remove((Control)conditionKz.ColumnFilter); } }