示例#1
0
 internal StringFilterExpressionCreator(
     ParameterCounter paramCounter, FilterData filterData, List <object> paramseters)
 {
     _paramCounter = paramCounter;
     _filterData   = filterData;
     _paramseters  = paramseters;
 }
示例#2
0
        public IActionResult List_User(FilterData filter)
        {
            var result = new ApiResult <IEnumerable <Res_User> >(ServiceCode, "007");

            try
            {
                var claimData = ClaimReader.Read(HttpContext);

                var result_service = _userService.ListUser(claimData.UserId, filter);
                if (result_service.IsSuccess == 1)
                {
                    result.Data = result_service.Data;
                    result.SetSuccess(result_service.Message);
                }
                else
                {
                    result.Data = null;
                    result.SetError(result_service.Message, result_service.StatusCode, result.TrackingCode);
                }
                return(new ObjectResult(result));
            }
            catch (Exception e)
            {
                result.Data = null;
                result.SetException(e);
                return(new ObjectResult(result));
            }
        }
示例#3
0
        private void InitFilterData()
        {
            if (FilterCurrentData != null && FilterCurrentData.IsTypeInitialized)
            {
                return;
            }

            var valuePropertyBindingPath = GetValuePropertyBindingPath(AssignedDataGridColumn);

            bool typeInitialized;

            var valuePropertyType = getValuePropertyType(
                valuePropertyBindingPath, GetItemSourceElementType(out typeInitialized));

            var filterType = FilterTypeHelper.GetFilterType(
                valuePropertyType,
                AssignedDataGridColumn is DataGridComboBoxColumn,
                DataGridColumnExtensions.GetIsBetweenFilterControl(AssignedDataGridColumn));


            string queryString   = String.Empty;
            string queryStringTo = String.Empty;

            FilterCurrentData = new FilterData(
                FilterOperator.Undefined,
                filterType,
                valuePropertyBindingPath,
                valuePropertyType,
                queryString,
                queryStringTo,
                typeInitialized,
                DataGridColumnExtensions.GetIsCaseSensitiveSearch(AssignedDataGridColumn));
        }
示例#4
0
 protected override FilterData GetFilters(FilterData data)
 {
     data.AddStatic(FilterData.StaticDistrito, cbEmpresa.Selected);
     data.AddStatic(FilterData.StaticZona, cbZona.Selected);
     data.AddStatic(FilterData.StaticTipoVehiculo, cbTipoVehiculo.Selected);
     return(data);
 }
示例#5
0
        public void InvalidEntryFilterTest()
        {
            var fd = new FilterData();

            fd.AddFilter(new FilterDataEntry("Text", new List <string>()));
            Assert.AreEqual(string.Empty, fd.Filter);
        }
示例#6
0
        public IHttpActionResult GetFilterBooks([FromBody] FilterData data)
        {
            IEnumerable <BookModel> listOfBooks = null;
            List <IFilterPredicate> list        = new List <IFilterPredicate>
            {
                new AuthorIDFilterPredicate(),
                new GenreIDFilterPredicate(),
                new CreationDateFilterPredicate(),
                new PublishingHouseFilterPredicate()
            };
            BookFilterPredicate predicate = new BookFilterPredicate(data, list);
            //var books = db.Books.Where(b => b.Id == 1).ToList();
            var books = Get(book => predicate.CheckBook(book)).ToList();

            listOfBooks = books.Select(b => new BookModel
            {
                ID                 = b.Id,
                Name               = b.Name,
                AuthorName         = b.Author.Name + " " + b.Author.Surname,
                GenreName          = b.Genre.Name,
                PublishingHomeName = b.PublishingHome.Name,
                Year               = b.Year
            }).ToList();

            return(Ok(listOfBooks));
        }
示例#7
0
 public static List <ModelAndFuelTypeStatus> MonthAndFuelTypeStatus(FilterData Obj)
 {
     using (var Context = new BSSDBEntities())
     {
         List <ModelAndFuelTypeStatus> ModelAndFuelTypeStatus = null;
         var ReqData = Context.sp_ModelAndFuelTypeStatus(Obj.DealerID, Obj.AccountId, Obj.Month, Obj.Year).ToList();
         if (ReqData.Count != 0)
         {
             ModelAndFuelTypeStatus = ReqData.Select(x => new ModelAndFuelTypeStatus
             {
                 GrandTotal = x.GrandTotal == null ? 0 : x.GrandTotal,
                 Model      = x.Model
             }).ToList();
             ModelAndFuelTypeStatus.Add(new BODYSHPBLL.ImplBLL.ModelAndFuelTypeStatus {
                 Model      = "Total",
                 GrandTotal = ReqData.Sum(x => x.GrandTotal)
             });
             return(ModelAndFuelTypeStatus);
         }
         else
         {
             return(ModelAndFuelTypeStatus);
         }
     }
 }
示例#8
0
 public void ApplyFilter()
 {
     Filter          = new FilterData(this);
     Data            = new FilteredData(this);
     Поставщики      = ПолучитьСписокПоставщиков(this);
     СостоянияЗаказа = ПолучитьСписокСостоянийЗаказа(this);
 }
示例#9
0
        public static void SelectPaged()
        {
            ISqlGenerator <User> userSqlGenerator = new SqlGenerator <User>(_sqlConnector, false);
            var filterData = new FilterData();

            var data = filterData.OrderInfo ?? new OrderInfo();

            data.Columns = new List <string> {
                "Id"
            };
            data.Direction       = OrderInfo.SortDirection.ASC;
            filterData.OrderInfo = data;

            var dataLimit = filterData.LimitInfo ?? new LimitInfo();

            dataLimit.Limit      = 10u;
            dataLimit.Offset     = 5u;
            filterData.LimitInfo = dataLimit;

            var sqlQuery = userSqlGenerator.GetSelectAll(x => x.Id == 2, filterData);

            Assert.Equal(
                "SELECT Users.Id, Users.Name, Users.AddressId, Users.PhoneId, Users.OfficePhoneId, Users.Deleted, Users.UpdatedAt FROM Users WHERE (Users.Id = :Id_p0) AND Users.Deleted != 1 ORDER BY Id ASC OFFSET 5 ROWS FETCH NEXT 10 ROWS ONLY",
                sqlQuery.GetSql());
        }
示例#10
0
        public override FilterResult Filter(int attributes0, FilterData filterData0, int attributes1, FilterData filterData1)
        {
            if (filterData0.Word0 == 0 && filterData1.Word0 == 0)
            {
                return(DefaultResult);
            }

            var result = DefaultResult;

            result.FilterFlag = FilterFlag.Default;

            if (IsPlayerCharacter(filterData0) || IsPlayerCharacter(filterData1))
            {
                result.PairFlags |= PlayerCharacterResult.PairFlags;
            }

            if ((IsTriggerSubject(filterData0) || IsTriggerSubject(filterData1)) &&
                (IsTriggerVolume(filterData0) || IsTriggerVolume(filterData1)))
            {
                result.PairFlags |= TriggerVolumeResult.PairFlags;
            }

            if (IsNoClip(filterData0) || IsNoClip(filterData1))
            {
                // TODO: surface PairFlag.SolveContact in package
                result.PairFlags = (result.PairFlags) & (PairFlag)(~1);
            }

            return(result);
        }
示例#11
0
        protected override void DataPortal_Insert()
        {
            using (var dalManager = DataFactoryManager.GetManager())
            {
                var dalFactory = dalManager.GetProvider <IFilterDataFactory>();

                var data = new FilterData();

                using (this.BypassPropertyChecks)
                {
                    this.ModifiedBy   = ((IBusinessIdentity)Csla.ApplicationContext.User.Identity).UserId;
                    this.ModifiedDate = DateTime.Now;
                    this.CreatedBy    = this.ModifiedBy;
                    this.CreatedDate  = this.ModifiedDate;

                    this.Insert(data);

                    data = dalFactory.Insert(data);

                    this.FilterId = data.FilterId;
                }

                // this.FieldManager.UpdateChildren(data);
            }
        }
示例#12
0
        public async Task <PaginationResult <ContractVM> > LoadDataAsync(FilterData parameters)
        {
            //Expression<Func<Contract, bool>> filter = null;
            if (parameters?.Query != null)
            {
                //filter = x => x.
            }
            if (parameters?.OrderBy != null)
            {
            }
            var top = parameters?.Top.HasValue ?? false ? parameters.Top.Value : 10000;

            using var scope = _serviceScopeFactory.CreateScope();
            var result = _mapper.Map <IEnumerable <ContractVM> >(
                await scope.ServiceProvider.GetService <IContractService>()
                .GetAsync(null, null, "Provider,Period",
                          parameters?.Skip.GetValueOrDefault() ?? 0, top));
            var total = await scope.ServiceProvider.GetService <IContractService>().Count();

            return(new PaginationResult <ContractVM>
            {
                Records = result,
                Skip = parameters?.Skip ?? 0,
                Total = total,
                Top = parameters?.Top ?? 0
            });
        }
示例#13
0
        /// <summary>
        /// Used as a call-back function for when the user chooses to apply a saved variant against the data.
        /// </summary>
        /// <param name="_variantDetails">A Dictionary object that stores the filters saved in the chosen variant.</param>
        public void BeginVariantLoadProcess(Dictionary <string, List <string> > _variantDetails)
        {
            addVariantToolStripMenuItem.Enabled = false;

            // Make sure there is no filters selected already.
            ClearSelected();

            // Pass Variant details to filters for calibration
            FilterData.CalibrateFilters(_variantDetails);
            BuildQueryFilters();
            FilterUtils.FiltersLoaded = false;

            CheckFilterStatus();

            // Update the checked items that are applied.
            UpdateColumnFilterCheckedItems();
            UpdateDateFilterCheckedItems();
            UpdateAdvancedFilterCheckedItems();

            // Start the data load process.
            BeginDataLoadProcess();

            // Update the buttons.
            UpdateFilterButtons();
        }
示例#14
0
 public virtual void DoFilter(FilterData data)
 {
     if (Handler != null)
     {
         Handler(data);
     }
 }
示例#15
0
        protected override void OnTypeChange(IFileDialog dialog)
        {
            var filterData = FilterData.CreateFromFilter(Filter);

            dialog.GetFileTypeIndex(out var index);
            var entry = filterData.EntryAt(index);

            var ext = entry.IsAnyFilter() ? DefaultExt : entry.Extensions.FirstOrDefault();

            if (!string.IsNullOrEmpty(ext))
            {
                if (ext.StartsWith(".", StringComparison.CurrentCulture))
                {
                    ext = ext.Substring(1);
                }
                else if (ext.Length == 0)
                {
                    ext = null;
                }
                dialog.SetDefaultExtension(ext);
            }

            // Resetting the name is required at this point.
            dialog.GetFileName(out var fileName);
            if (string.IsNullOrEmpty(fileName))
            {
                fileName = FileName;
            }
            var fileNameWihtoutExtension = Path.GetFileNameWithoutExtension(fileName);

            dialog.SetFileName($"{fileNameWihtoutExtension}.{ext}");
        }
        private void initFilterData()
        {
            if (FilterCurrentData == null || !FilterCurrentData.IsTypeInitialized)
            {
                string valuePropertyBindingPath = getValuePropertyBindingPath(AssignedDataGridColumn);

                bool typeInitialized;

                Type valuePropertyType = getValuePropertyType(
                    valuePropertyBindingPath, getItemSourceElementType(out typeInitialized));

                FilterType filterType = getFilterType(
                    valuePropertyType,
                    isComboDataGridColumn(),
                    isBetweenType());

                FilterOperator filterOperator = FilterOperator.Undefined;

                string queryString   = String.Empty;
                string queryStringTo = String.Empty;

                FilterCurrentData = new FilterData(
                    filterOperator,
                    filterType,
                    valuePropertyBindingPath,
                    valuePropertyType,
                    queryString,
                    queryStringTo,
                    typeInitialized,
                    DataGridColumnExtensions.GetIsCaseSensitiveSearch(AssignedDataGridColumn),
                    DataGridColumnExtensions.GetIsContainsTextSearch(AssignedDataGridColumn));
            }
        }
示例#17
0
        public async Task <FilterResult> GetProducts(FilterData data)
        {
            var    result           = new FilterResult();
            string connectionString = configuration.GetConnectionString("Default");

            var commandText = "GetProducts";
            var command     = new CommandDefinition(commandText, data.GetDictionary(), commandType: CommandType.StoredProcedure);

            IEnumerable <ProductSummury> queryResults;

            try
            {
                using SqlConnection connection = new SqlConnection(connectionString);
                queryResults = await connection.QueryAsync <ProductSummury>(command);
            }
            catch (Exception ex)
            {
                logger.LogError(ex.GetExceptionMessage());
                return(null);
            }

            if (queryResults.Any())
            {
                var firstRow = queryResults.First();
                result.CategoryName = firstRow.CategoryName;
                result.GalleryName  = firstRow.GalleryName;
                result.TotalCount   = firstRow.TotalCount;
                result.Products     = queryResults;
            }

            return(result);
        }
示例#18
0
        GetQueryController(
            System.Windows.Controls.DataGrid dataGrid,
            FilterData filterData, IEnumerable itemsSource)
        {
            if (dataGrid == null)
            {
                throw new ArgumentNullException(nameof(dataGrid));
            }

            var query = DataGridExtensions.GetDataGridFilterQueryController(dataGrid);

            if (query == null)
            {
                //clear the filter if exists begin
                System.ComponentModel.ICollectionView view
                    = System.Windows.Data.CollectionViewSource.GetDefaultView(dataGrid.ItemsSource);
                if (view != null)
                {
                    view.Filter = null;
                }
                //clear the filter if exists end

                query = new QueryController();
                DataGridExtensions.SetDataGridFilterQueryController(dataGrid, query);
            }

            query.ColumnFilterData        = filterData;
            query.ItemsSource             = itemsSource;
            query.CallingThreadDispatcher = dataGrid.Dispatcher;
            query.UseBackgroundWorker     = DataGridExtensions.GetUseBackgroundWorkerForFiltering(dataGrid);

            return(query);
        }
 protected override void OnLoadFilters(FilterData data)
 {
     data.LoadStaticFilter(FilterData.StaticDistrito, cbEmpresa);
     data.LoadStaticFilter(FilterData.StaticBase, cbLinea);
     data.LoadLocalFilter((string)"DESDE", (DateTimePicker)dtpDesde);
     data.LoadLocalFilter((string)"HASTA", (DateTimePicker)dtpHasta);
 }
示例#20
0
 protected override FilterData GetFilters(FilterData data)
 {
     data.AddStatic(FilterData.StaticDistrito, cbEmpresa.Selected);
     data.AddStatic(FilterData.StaticBase, cbLinea.Selected);
     data.AddStatic(FilterData.StaticTipoDocumento, cbTipoDocumento.Selected);
     return(data);
 }
        public static IList <Product> SearchEntity(string codigo, string descricao, int idFornecedor)
        {
            List <FilterData> listFilterData = new List <FilterData>();

            if (!string.IsNullOrWhiteSpace(codigo))
            {
                listFilterData.Add(FilterData.Like("Codigo", codigo, LikeOperator.Both));
            }

            if (!string.IsNullOrWhiteSpace(descricao))
            {
                listFilterData.Add(FilterData.Like("Descricao", descricao, LikeOperator.Both));
            }

            if (idFornecedor > 0)
            {
                listFilterData.Add(FilterData.Eq("IdFornecedor", idFornecedor));
            }

            if (listFilterData.Any())
            {
                FilterCriteria fc = FilterCriteria.And(listFilterData.ToArray());

                return(GetAll(fc, orderBy: "Codigo and Descricao "));
            }
            else
            {
                return(GetAll(orderBy: "Codigo and Descricao "));
            }
        }
示例#22
0
        public void EmptyFilterAddAnyTest()
        {
            var fd = new FilterData();

            fd.AddFilterAnyFile("Any");
            Assert.AreEqual("Any (*.*)|*.*", fd.ToString());
        }
        private SqlQuery InitBuilderSelect(bool firstOnly, FilterData filterData)
        {
            var query = new SqlQuery();

            query.SqlBuilder.Append("SELECT ");

            if (Provider == SqlProvider.MSSQL)
            {
                if (firstOnly)
                {
                    query.SqlBuilder.Append("TOP 1 ");
                }
                else
                {
                    if (filterData?.LimitInfo != null && filterData.OrderInfo == null)
                    {
                        query.SqlBuilder.Append("TOP (");
                        query.SqlBuilder.Append(filterData.LimitInfo.Limit);
                        query.SqlBuilder.Append(") ");
                    }
                }
            }

            query.SqlBuilder.Append(filterData?.SelectInfo?.Columns == null
                ? GetFieldsSelect(TableName, SqlProperties, UseQuotationMarks == true)
                : GetFieldsSelect(filterData.SelectInfo.Columns));

            return(query);
        }
示例#24
0
        public void AddFilter_Adds_ValidAssemblyClassPair(
            [ValueSource("_filterExpressions")] FilterData assemblyClassPair)
        {
            // arrange
            var filter = new Filter();

            // act
            filter.AddFilter(assemblyClassPair.FilterExpression);

            // assert
            Assert.AreEqual(1, assemblyClassPair.FilterTypeResult == FilterType.Inclusion ?
                            filter.InclusionFilters.Count : filter.ExclusionFilters.Count);

            Assert.AreEqual(assemblyClassPair.ProcessResult,
                            assemblyClassPair.FilterTypeResult == FilterType.Inclusion ?
                            filter.InclusionFilters[0].ProcessName
                    : filter.ExclusionFilters[0].ProcessName);

            Assert.AreEqual(assemblyClassPair.AssemblyResult,
                            assemblyClassPair.FilterTypeResult == FilterType.Inclusion ?
                            filter.InclusionFilters[0].AssemblyName
                    : filter.ExclusionFilters[0].AssemblyName);

            Assert.AreEqual(assemblyClassPair.ClassResult,
                            assemblyClassPair.FilterTypeResult == FilterType.Inclusion ?
                            filter.InclusionFilters[0].ClassName
                : filter.ExclusionFilters[0].ClassName);
        }
示例#25
0
        public static void SelectPaged()
        {
            ISqlGenerator <User> userSqlGenerator = new SqlGenerator <User>(_sqlConnector, true);
            var filterData = new FilterData();

            var data = filterData.OrderInfo ?? new OrderInfo();

            data.Columns = new List <string> {
                "Id"
            };
            data.Direction       = OrderInfo.SortDirection.ASC;
            filterData.OrderInfo = data;

            var dataLimit = filterData.LimitInfo ?? new LimitInfo();

            dataLimit.Limit      = 10u;
            dataLimit.Offset     = 5u;
            filterData.LimitInfo = dataLimit;

            var sqlQuery = userSqlGenerator.GetSelectAll(x => x.Id == 2, filterData);

            Assert.Equal(
                "SELECT [Users].[Id], [Users].[Name], [Users].[AddressId], [Users].[PhoneId], [Users].[OfficePhoneId], [Users].[Deleted], [Users].[UpdatedAt] FROM [Users] WHERE ([Users].[Id] = @Id_p0) AND [Users].[Deleted] != 1 ORDER BY [Id] ASC OFFSET 5 ROWS FETCH NEXT 10 ROWS ONLY",
                sqlQuery.GetSql());
        }
        private void SetLimit(SqlQuery sqlQuery, FilterData filterData)
        {
            if (filterData?.LimitInfo == null)
            {
                return;
            }

            if (Provider == SqlProvider.MSSQL)
            {
                if (!filterData.Ordered)
                {
                    return;
                }

                sqlQuery.SqlBuilder.Append("OFFSET ");
                sqlQuery.SqlBuilder.Append(filterData.LimitInfo.Offset ?? 0);
                sqlQuery.SqlBuilder.Append(" ROWS FETCH NEXT ");
                sqlQuery.SqlBuilder.Append(filterData.LimitInfo.Limit);
                sqlQuery.SqlBuilder.Append(" ROWS ONLY");
                return;
            }

            sqlQuery.SqlBuilder.Append("LIMIT ");
            sqlQuery.SqlBuilder.Append(filterData.LimitInfo.Limit);
            if (filterData.LimitInfo.Offset != null)
            {
                sqlQuery.SqlBuilder.Append(" OFFSET ");
                sqlQuery.SqlBuilder.Append(filterData.LimitInfo.Offset);
            }

            if (!filterData.LimitInfo.Permanent)
            {
                filterData.LimitInfo = null;
            }
        }
示例#27
0
 protected override FilterData GetFilters(FilterData data)
 {
     data.AddStatic(FilterData.StaticDistrito, cbEmpresa.Selected);
     data.AddStatic(FilterData.StaticBase, cbLinea.Selected);
     data.AddStatic(FilterData.StaticTipoReferenciaGeografica, cbTipoReferenciaGeografica.Selected);
     return(data);
 }
示例#28
0
 protected override FilterData GetFilters(FilterData data)
 {
     data.AddStatic(FilterData.StaticDistrito, ddlDistrito.Selected);
     data.AddStatic(FilterData.StaticBase, ddlBase.Selected);
     data.AddStatic(FilterData.StaticCliente, ddlCliente.Selected);
     return(data);
 }
示例#29
0
        public int Count(
            [DekiExtParam("project name (default: default-project)", true)] string project,
            [DekiExtParam("filter name (note: the filter must have been saved previously in Mantis) (default: none)", true)] string filter
            )
        {
            ProjectData projectData = GetProjectByName(project ?? Config["default-project"].AsText);

            if (projectData == null)
            {
                throw new ArgumentException(string.Format("Project '{0}' not found", project ?? Config["default-project"].AsText), "project");
            }
            string filterId = string.Empty;

            if (!string.IsNullOrEmpty(filter))
            {
                FilterData filterData = GetFilterByName(filter, projectData.id);
                if (filterData == null)
                {
                    throw new ArgumentException(string.Format("Filter '{0}' not found", filter), "filter");
                }
                filterId = filterData.id;
            }

            IssueHeaderData[] issues = _service.mc_filter_get_issue_headers(_username, _password, projectData.id, filterId, "0", "100000");
            return(issues.Length);
        }
示例#30
0
 protected override FilterData GetFilters(FilterData data)
 {
     data.AddStatic(FilterData.StaticDistrito, cbEmpresa.Selected);
     data.AddStatic(FilterData.StaticBase, cbLinea.Selected);
     data.AddStatic(FilterData.StaticCliente, cbCliente.Selected);
     return(data);
 }
示例#31
0
		public override FilterResult Filter(int attributes0, FilterData filterData0, int attributes1, FilterData filterData1)
		{
			return new FilterResult
			{
				FilterFlag = FilterFlag.Default,
				// Cause PhysX to report any contact of two shapes as a touch and call SimulationEventCallback.OnContact
				PairFlags = PairFlag.ContactDefault | PairFlag.NotifyTouchFound | PairFlag.NotifyTouchLost
			};
		}
示例#32
0
        public FilterData Update(FilterData data)
        {
            var filter = MockDb.Filters
                .Where(row => row.FilterId == data.FilterId)
                .Single();

            Csla.Data.DataMapper.Map(data, filter);

            return data;
        }
示例#33
0
        public FilterData Fetch(FilterData data)
        {
            data.CreatedByUser = MockDb.Users
                .Where(row => row.UserId == data.CreatedBy)
                .Single();

            data.ModifiedByUser = MockDb.Users
                .Where(row => row.UserId == data.ModifiedBy)
                .Single();

            return data;
        }
示例#34
0
文件: Shape.cs 项目: litdev1/LitDev
 protected Shape(ShapeDef def)
 {
     this._userData = def.UserData;
     this._friction = def.Friction;
     this._restitution = def.Restitution;
     this._density = def.Density;
     this._body = null;
     this._sweepRadius = 0f;
     this._next = null;
     this._proxyId = PairManager.NullProxy;
     this._filter = def.Filter;
     this._isSensor = def.IsSensor;
 }
示例#35
0
        public FilterData Insert(FilterData data)
        {
            if (MockDb.Filters.Count() == 0)
            {
                data.FilterId = 1;
            }
            else
            {
                data.FilterId = MockDb.Filters.Select(row => row.FilterId).Max() + 1;
            }

            MockDb.Filters.Add(data);

            return data;
        }
示例#36
0
 private void _buttonAdd_Click(object sender, EventArgs e)
 {
     FilterData newFilter = new FilterData(_data);
     _data.Add(newFilter);
     _tableFilters.Rows.Add(new FilterControl(newFilter, _parent, 
         WebProvider.ActiveProvider.DataSet.Properties));
     _data.ShowFilters = true;
 }
示例#37
0
    public IEnumerator LoadData()
    {
        WWW textURLWWW = new WWW(URL);
        yield return textURLWWW;

        if (textURLWWW.text.Contains("<html>"))
        {
            print("____________________________ vuelve a intentar bajar los FILTROS");
            StartCoroutine(LoadData());
        }
        else
        {
            print("CARGO LOS FILTROS: " + (textURLWWW.text));

            var N = JSON.Parse(textURLWWW.text);

            for (int a = 0; a < 50; a++)
            {
                if (N["filters"]["shapes"][a] != null)
                {
                    FilterData data = new FilterData();
                    data.id = int.Parse(N["filters"]["shapes"].Keys.ToArray()[a]);
                    data.name = N["filters"]["shapes"][a];
                    //Debug.Log("ID: "+data.id+" - Name: "+data.name);
                    shape.Add(data);
                }
                if (N["filters"]["techniques"][a] != null)
                {
                    FilterData data = new FilterData();
                    data.id = int.Parse(N["filters"]["techniques"].Keys.ToArray()[a]);
                    data.name = N["filters"]["techniques"][a];
                    technique.Add(data);
                }
                if (N["filters"]["sizes"][a] != null)
                {
                    FilterData data = new FilterData();
                    data.id = int.Parse(N["filters"]["sizes"].Keys.ToArray()[a]);
                    data.name = N["filters"]["sizes"][a];
                    size.Add(data);
                }
                if (N["filters"]["orientations"][a] != null)
                {
                    FilterData data = new FilterData();
                    data.id = int.Parse(N["filters"]["orientations"].Keys.ToArray()[a]);
                    data.name = N["filters"]["orientations"][a];
                    orientation.Add(data);
                }
                if (N["filters"]["colors"][a] != null)
                {
                    FilterData data = new FilterData();
                    data.id = int.Parse(N["filters"]["colors"].Keys.ToArray()[a]);
                    data.name = N["filters"]["colors"][a];
                    color.Add(data);
                }
            }
        }
    }
示例#38
0
    void CheckToCreate(List<FilterData> arr, string value)
    {
        if (value == null || value == "") return;

        int a = 1;
        foreach (FilterData existingValue in arr)
        {
            a++;
            if (existingValue.name == value)
                return;
        }

        FilterData data = new FilterData();
        data.id = a;
        data.name = value;
        arr.Add(data);
    }
示例#39
0
文件: Shape.cs 项目: colgreen/box2dx
		protected Shape(ShapeDef def)
		{
			_userData = def.UserData;
			_friction = def.Friction;
			_restitution = def.Restitution;
			_density = def.Density;
			_body = null;
			_sweepRadius = 0.0f;
			_next = null;
			_proxyId = PairManager.NullProxy;
			_filter = def.Filter;
			_isSensor = def.IsSensor;
		}
示例#40
0
        public FilterData GetFilterData(string databasePrefix, List<string> tableNames, DateTime beginTime, DateTime endTime)
        {
            try
            {
                var data = new FilterData()
                {
                    CascadeFilters = new List<CascadeFilter>(),
                    ListFilters = new List<ListFilter>(),
                    TextboxFilters = new List<TextboxFilter>(),
                };
                var databaseInfos = MongodbServerMaintainceCenter.GetDatabaseInfos(databasePrefix, beginTime, endTime);
                if (databaseInfos.Count == 0) return null;

                foreach (var databaseInfo in databaseInfos)
                {
                    foreach (var tableName in tableNames)
                    {
                        var collectionInfo = databaseInfo.Collections.FirstOrDefault(c => c.CollectionName == tableName);
                        if (collectionInfo != null)
                        {
                            foreach (var filterColumn in collectionInfo.TextboxFilterColumns)
                            {
                                var filter = data.TextboxFilters.FirstOrDefault(f => f.ColumnName == filterColumn.ColumnName);
                                if (filter == null)
                                {
                                    data.TextboxFilters.Add(new TextboxFilter
                                    {
                                        ColumnName = filterColumn.ColumnName,
                                    });
                                }
                            }

                            foreach (var filterColumn in collectionInfo.ListFilterColumns)
                            {
                                var filter = data.ListFilters.FirstOrDefault(f => f.ColumnName == filterColumn.ColumnName);
                                if (filter == null)
                                {
                                    data.ListFilters.Add(new ListFilter
                                    {
                                        ColumnName = filterColumn.ColumnName,
                                        Items = filterColumn.DistinctValues,
                                    });
                                }
                                else
                                {
                                    filter.Items.AddRange(filterColumn.DistinctValues);
                                    filter.Items = filter.Items.Distinct(new LambdaComparer<ItemPair>((a, b) => a.Value.ToString() == b.Value.ToString())).ToList();
                                }
                            }

                            foreach (var filterColumn in collectionInfo.CascadeFilterColumns)
                            {
                                var dic = new Dictionary<string, List<string>>();
                                var values = filterColumn.DistinctValues;
                                foreach (var val in values)
                                {
                                    if (!val.Contains("__"))
                                    {
                                        dic.Add(val, new List<string>());
                                        continue;
                                    }

                                    var parent = val.Substring(0, val.LastIndexOf("__"));
                                    var child = val.Substring(val.LastIndexOf("__") + 2);
                                    if (dic.ContainsKey(parent))
                                        dic[parent].Add(child);
                                    else
                                        dic.Add(parent, new List<string> { child });
                                }

                                var filter = data.CascadeFilters.FirstOrDefault(f => f.ColumnName == filterColumn.ColumnName);
                                if (filter == null)
                                {
                                    data.CascadeFilters.Add(new CascadeFilter
                                    {
                                        ColumnName = filterColumn.ColumnName,
                                        Items = dic,
                                    });
                                }
                                else
                                {
                                    foreach (var item in dic)
                                    {
                                        if (filter.Items.ContainsKey(item.Key))
                                        {
                                            filter.Items[item.Key].AddRange(item.Value);
                                            filter.Items[item.Key] = filter.Items[item.Key].Distinct().ToList();
                                        }
                                        else
                                        {
                                            filter.Items.Add(item.Key, item.Value);
                                        }
                                    }
                                }
                            }
                        }
                    }

                    foreach (var filter in data.TextboxFilters)
                    {
                        var columnDescription = MongodbServerMaintainceCenter.GetMongodbColumnDescription(databasePrefix, filter.ColumnName);
                        if (columnDescription != null)
                        {
                            filter.Description = columnDescription.Description;
                            filter.DisplayName = columnDescription.DisplayName;
                        }
                    }

                    foreach (var filter in data.ListFilters)
                    {
                        var columnDescription = MongodbServerMaintainceCenter.GetMongodbColumnDescription(databasePrefix, filter.ColumnName);
                        if (columnDescription != null)
                        {
                            filter.Description = columnDescription.Description;
                            filter.DisplayName = columnDescription.DisplayName;
                            switch (columnDescription.MongodbFilterOption)
                            {
                                case MongodbFilterOption.CheckBoxListFilter:
                                    filter.ListFilterType = ListFilterType.MultipleSelect;
                                    break;
                                case MongodbFilterOption.DropDownListFilter:
                                    filter.ListFilterType = ListFilterType.Select;
                                    break;
                            }
                        }
                    }

                    foreach (var filter in data.CascadeFilters)
                    {
                        var columnDescription = MongodbServerMaintainceCenter.GetMongodbColumnDescription(databasePrefix, filter.ColumnName);
                        if (columnDescription != null)
                        {
                            filter.Description = columnDescription.Description;
                            filter.DisplayName = columnDescription.DisplayName;
                            switch (columnDescription.MongodbCascadeFilterOption)
                            {
                                case MongodbCascadeFilterOption.LevelOne:
                                    filter.CascadeFilterType = CascadeFilterType.LevelOne;
                                    break;
                                case MongodbCascadeFilterOption.LevelTwo:
                                    filter.CascadeFilterType = CascadeFilterType.LevelTwo;
                                    break;
                                case MongodbCascadeFilterOption.LevelThree:
                                    filter.CascadeFilterType = CascadeFilterType.LevelThree;
                                    break;
                            }
                        }
                    }
                }

                return data;
            }
            catch (Exception ex)
            {
                LocalLoggingService.Error("{0} {1} {2} {3}", MongodbServerConfiguration.ModuleName, "MongodbServer_Slave", "GetFilterData", ex.Message);
                throw;
            }
        }
示例#41
0
            internal FilterControl(FilterData data, Redirect parent, IEnumerable<Property> properties)
            {
                _data = data;
                _parent = parent;

                _ddlProperties = new DropDownList();
                _ddlValues = new DropDownList();
                _textBoxExpression = new TextBox();
                _checkBoxEnabled = new CheckBox();
                _buttonDelete = new Button();
                _customValidatorMatchExpression = new CustomValidator();

                _ddlProperties.DataSource = properties;

                _ddlProperties.AutoPostBack = true;
                _ddlValues.AutoPostBack = true;

                _customValidatorMatchExpression.Display = ValidatorDisplay.None;
                _customValidatorMatchExpression.ValidateEmptyText = true;
                _customValidatorMatchExpression.ValidationGroup = VALIDATION_GROUP;

                // Bind the list of properties to the control.
                _ddlProperties.DataBind();
                _ddlProperties.Items.Add(new ListItem(
                    FiftyOne.Foundation.Mobile.Redirection.Constants.OriginalUrlSpecialProperty,
                    FiftyOne.Foundation.Mobile.Redirection.Constants.OriginalUrlSpecialProperty));
                _ddlProperties.SelectedValue =
                    FiftyOne.Foundation.Mobile.Redirection.Constants.OriginalUrlSpecialProperty;

                SetValuesDataSource(properties);

                _textBoxExpression.Text = _data.MatchExpression;
                _checkBoxEnabled.Checked = _data.Enabled;
            }
示例#42
0
        private void CategoryList_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (!loaded) return;

            if (autoRefreshThread == null)
            {
                autoRefreshThread = new Thread(this.AutoRefreshAction)
                {
                    IsBackground = true,
                };
                autoRefreshThread.Start();
            }

            //每一次有状态改变都收缩高级搜索区域,因为需要重新加载数据
            AdvancedSearchPanel.IsExpanded = false;
            //只有设置为空了才会重新加载
            filterData = null;

            var selectedItem = CategoryList.SelectedItem as ComboBoxItem;
            if (selectedItem != null)
            {
                var category = selectedItem.Tag as Category;
                if (category != null)
                {
                    //分类改变后清空数据库列表
                    DatabaseList.Items.Clear();
                    //也需要清空表列表
                    TableListPanel.Children.Clear();
                    CheckAllTables.IsChecked = false;
                    foreach (var subCategory in category.SubCategoryList)
                    {
                        var access = Data.AdminConfigurationItem.MongodbAdminDatabaseConfigurationItems.Values.FirstOrDefault(item => item.DatabasePrefix == "*"
                        || subCategory.DatabasePrefix.ToLower().StartsWith(item.DatabasePrefix.ToLower()));
                        if (access == null) continue;
                        DatabaseList.Items.Add(new ComboBoxItem { Content = subCategory.DisplayName, Tag = subCategory });
                    }
                }
            }

            var selection = GetLastSelection();
            if (selection != null && !selection.DatabaseNameApplied && selection.DatabaseName != null)
            {
                var item = DatabaseList.Items.OfType<ComboBoxItem>().FirstOrDefault(c => (c.Tag as SubCategory).Name == selection.DatabaseName);
                if (item != null) DatabaseList.SelectedItem = item;
                selection.DatabaseNameApplied = true;
            }
        }
示例#43
0
        public void Create(BroadPhase broadPhase, Body body, XForm xf, FixtureDef def)
        {
            UserData = def.UserData;
            Friction = def.Friction;
            Restitution = def.Restitution;
            Density = def.Density;

            _body = body;
            _next = null;

            Filter = def.Filter;

            _isSensor = def.IsSensor;

            _type = def.Type;

            // Allocate and initialize the child shape.
            switch (_type)
            {
                case ShapeType.CircleShape:
                    {
                        CircleShape circle = new CircleShape();
                        CircleDef circleDef = (CircleDef)def;
                        circle._position = circleDef.LocalPosition;
                        circle._radius = circleDef.Radius;
                        _shape = circle;
                    }
                    break;

                case ShapeType.PolygonShape:
                    {
                        PolygonShape polygon = new PolygonShape();
                        PolygonDef polygonDef = (PolygonDef)def;
                        polygon.Set(polygonDef.Vertices, polygonDef.VertexCount);
                        _shape = polygon;
                    }
                    break;

                case ShapeType.EdgeShape:
                    {
                        EdgeShape edge = new EdgeShape();
                        EdgeDef edgeDef = (EdgeDef)def;
                        edge.Set(edgeDef.Vertex1, edgeDef.Vertex2);
                        _shape = edge;
                    }
                    break;

                default:
                    Box2DXDebug.Assert(false);
                    break;
            }

            // Create proxy in the broad-phase.
            AABB aabb;
            _shape.ComputeAABB(out aabb, xf);

            bool inRange = broadPhase.InRange(aabb);

            // You are creating a shape outside the world box.
            Box2DXDebug.Assert(inRange);

            if (inRange)
            {
                _proxyId = broadPhase.CreateProxy(aabb, this);
            }
            else
            {
                _proxyId = PairManager.NullProxy;
            }
        }
示例#44
0
        private void DatabaseList_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (!loaded) return;

            AdvancedSearchPanel.IsExpanded = false;
            filterData = null;
            var selectedItem = DatabaseList.SelectedItem as ComboBoxItem;
            if (selectedItem != null)
            {
                var subCategory = selectedItem.Tag as SubCategory;
                if (subCategory != null)
                {
                    TableListPanel.Children.Clear();
                    CheckAllTables.IsChecked = true;
                    foreach (var tableName in subCategory.TableNames)
                    {
                        var dbaccess = Data.AdminConfigurationItem.MongodbAdminDatabaseConfigurationItems.Values.FirstOrDefault(item => item.DatabasePrefix == "*"
                        || subCategory.DatabasePrefix.ToLower().StartsWith(item.DatabasePrefix.ToLower()));
                        if (dbaccess == null) continue;

                        var tableAccess = dbaccess.MongodbAdminTableConfigurationItems.Values.FirstOrDefault(item => item.TableName == "*"
                            || item.TableName.ToLower().StartsWith(tableName.ToLower()));
                        if (tableAccess == null) continue;

                        var tableCheckbox = new CheckBox
                        {
                            Content = tableName,
                            Margin = new Thickness(5, 5, 0, 0),
                            IsChecked = true,
                        };
                        tableCheckbox.Click += new RoutedEventHandler(tableCheckbox_Click);
                        TableListPanel.Children.Add(tableCheckbox);

                    }
                }
            }

            var selection = GetLastSelection();
            if (selection != null && !selection.TableNamesApplied && selection.TableNames != null)
            {
                TableListPanel.Children.OfType<CheckBox>().ToList().ForEach(item => item.IsChecked = false);
                foreach (var table in selection.TableNames)
                {
                    var item = TableListPanel.Children.OfType<CheckBox>().FirstOrDefault(c => c.Content.ToString() == table);
                    if (item != null) item.IsChecked = true;
                }
                selection.TableNamesApplied = true;
            }

        }
示例#45
0
        private void tableCheckbox_Click(object sender, RoutedEventArgs e)
        {

            if (!loaded) return;

            AdvancedSearchPanel.IsExpanded = false;
            filterData = null;

            var tableCheckboxList = TableListPanel.Children.OfType<CheckBox>().ToList();
            //如果所有的都选择了
            if (tableCheckboxList.All(c => c.IsChecked.HasValue && c.IsChecked.Value))
                CheckAllTables.IsChecked = true;
            //如果所有都没选择
            else if (tableCheckboxList.All(c => c.IsChecked.HasValue && !c.IsChecked.Value))
                CheckAllTables.IsChecked = false;
            //其它情况
            else
                CheckAllTables.IsChecked = null;

        }
示例#46
0
	void onUIOptionGroup(object sender, EventArgs arg) {
		var uiOptionGroup = sender as UIOptionGroup;
		FilterData = FilterData.SpecificCheck (uiOptionGroup.OptionGroupData);
		OnInteraction ();
	}
示例#47
0
        private void CheckAllTables_Click(object sender, RoutedEventArgs e)
        {

            if (!loaded) return;

            AdvancedSearchPanel.IsExpanded = false;
            filterData = null;

            var tableCheckboxList = TableListPanel.Children.OfType<CheckBox>().ToList();
            if (CheckAllTables.IsChecked.HasValue)
            {
                tableCheckboxList.ForEach(c => c.IsChecked = CheckAllTables.IsChecked.Value);
            }
            else //如果部分选择的话,点击后直接取消选择
            {
                tableCheckboxList.ForEach(c => c.IsChecked = false);
            }

        }
示例#48
0
 public object Create(FilterData filterData)
 {
     throw new NotImplementedException();
 }
示例#49
0
	public SearcherData (FilterData filterData, SorterData sorterData, RangerData rangerData)
	{
		this.filterData = filterData;
		this.sorterData = sorterData;
		this.rangerData = rangerData;
	}
示例#50
0
 /// <summary>
 /// 
 /// </summary>
 /// <param name="filterData"></param>
 internal Filter( FilterData filterData )
 {
     data = filterData;
 }
示例#51
0
        private void service_GetFilterDataCompleted(object sender, GetFilterDataCompletedEventArgs e)
        {
            this.Busy.IsBusy = false;

            //清空已有的控件
            TextboxFilterListPanel.Children.Clear();
            SelectFilterListPanel.Children.Clear();
            MultipleSelectFilterListPanel.Children.Clear();
            CascadeFilterListPanel.Children.Clear();

            if (e.Error != null)
            {
                e.Error.ShowError();
                return;
            }

            if (e.Result != null)
            {
                filterData = e.Result;
                //处理级联控件
                var cascadeFilters = filterData.CascadeFilters;
                if (cascadeFilters.Count > 0)
                {
                    CascadeFilterList.Visibility = System.Windows.Visibility.Visible;
                    foreach (var cascadeFilter in cascadeFilters.OrderBy(c => c.CascadeFilterType))
                    {
                        var cascadeFilterControl = new ComboBox()
                        {
                            Margin = new Thickness(5, 0, 0, 0),
                            Tag = cascadeFilter.ColumnName,
                        };

                        cascadeFilterControl.SelectionChanged += new SelectionChangedEventHandler(cascadeFilterControl_SelectionChanged);

                        //只有第一级的时候默认才添加数据
                        if (cascadeFilter.CascadeFilterType == CascadeFilterType.LevelOne)
                        {
                            foreach (var item in cascadeFilter.Items.Where(item => !string.IsNullOrWhiteSpace(item.Key)).ToList())
                            {
                                cascadeFilterControl.Items.Add(new ComboBoxItem { Content = item.Key, Tag = item.Key });
                            }
                            if (cascadeFilterControl.Items.Count > 0)
                            {
                                //设置默认项为空白字符串,字符串长度相当于最大项的字符串长度
                                cascadeFilterControl.Items.Insert(0, new ComboBoxItem { Content = new string(' ', cascadeFilterControl.Items.OfType<ComboBoxItem>().Max(c => c.Content.ToString().Length)), Tag = null });
                                cascadeFilterControl.SelectedIndex = 0;
                            }
                        }
                        //容器
                        var panel = new StackPanel
                        {
                            Orientation = Orientation.Horizontal,
                            Margin = new Thickness(0, 5, 0, 0),
                        };
                        //先是显示名称
                        panel.Children.Add(new TextBlock { Text = cascadeFilter.DisplayName, Margin = new Thickness(5, 0, 0, 0), VerticalAlignment = System.Windows.VerticalAlignment.Center });
                        //然后是控件主体
                        panel.Children.Add(cascadeFilterControl);
                        //如果有描述的话添加描述文本
                        if (!string.IsNullOrWhiteSpace(cascadeFilter.Description))
                            panel.Children.Add(new TextBlock { Text = cascadeFilter.Description, Margin = new Thickness(5, 0, 0, 0), VerticalAlignment = System.Windows.VerticalAlignment.Center, FontStyle = FontStyles.Italic });
                        CascadeFilterListPanel.Children.Add(panel);
                    }
                }
                if (cascadeFilters.Count == 0)
                {
                    CascadeFilterList.Visibility = System.Windows.Visibility.Collapsed;
                }

                //单选过滤
                var selectFilters = filterData.ListFilters.Where(f => f.ListFilterType == ListFilterType.Select).ToList();
                if (selectFilters.Count > 0)
                {
                    SelectFilterList.Visibility = System.Windows.Visibility.Visible;
                    foreach (var selectFilter in selectFilters)
                    {
                        var selectFilterControl = new ComboBox()
                        {
                            Margin = new Thickness(5, 0, 0, 0),
                            Tag = selectFilter.ColumnName,
                        };

                        foreach (var item in selectFilter.Items.Where(item => !string.IsNullOrWhiteSpace(item.Name)).ToList())
                        {
                            selectFilterControl.Items.Add(new ComboBoxItem { Content = item.Name, Tag = item.Value });
                        }
                        if (selectFilterControl.Items.Count != 0)
                        {
                            selectFilterControl.Items.Insert(0, new ComboBoxItem { Content = new string(' ', selectFilterControl.Items.OfType<ComboBoxItem>().Max(c => c.Content.ToString().Length)), Tag = null });
                        }
                        else
                        {
                            selectFilterControl.Items.Insert(0, new ComboBoxItem { Content = ' ', Tag = null });
                        }
                        selectFilterControl.SelectedIndex = 0;
                        var panel = new StackPanel
                        {
                            Orientation = Orientation.Horizontal,
                            Margin = new Thickness(0, 5, 0, 0),
                        };
                        panel.Children.Add(new TextBlock { Text = selectFilter.DisplayName, Margin = new Thickness(5, 0, 0, 0), VerticalAlignment = System.Windows.VerticalAlignment.Center });
                        panel.Children.Add(selectFilterControl);
                        if (!string.IsNullOrWhiteSpace(selectFilter.Description))
                            panel.Children.Add(new TextBlock { Text = selectFilter.Description, Margin = new Thickness(5, 0, 0, 0), VerticalAlignment = System.Windows.VerticalAlignment.Center, FontStyle = FontStyles.Italic });
                        SelectFilterListPanel.Children.Add(panel);
                    }
                    if (selectFilters.Count == 0)
                    {
                        SelectFilterList.Visibility = System.Windows.Visibility.Collapsed;
                    }
                }

                //多选过滤
                var multipleselectFilters = filterData.ListFilters.Where(f => f.ListFilterType == ListFilterType.MultipleSelect).ToList();
                if (multipleselectFilters.Count > 0)
                {
                    MultipleSelectFilterList.Visibility = System.Windows.Visibility.Visible;
                    foreach (var multipleselectFilter in multipleselectFilters)
                    {
                        var panel = new StackPanel
                        {
                            Orientation = Orientation.Horizontal,
                            Margin = new Thickness(0, 5, 0, 0),
                        };

                        //每一组放在一个容器内,换行长度300
                        var groupPanel = new WrapPanel
                        {
                            Orientation = Orientation.Horizontal,
                            Margin = new Thickness(0, 5, 0, 0),
                            Tag = multipleselectFilter.ColumnName,
                            MaxWidth = 300,

                        };
                        foreach (var item in multipleselectFilter.Items.Where(item => !string.IsNullOrWhiteSpace(item.Name)).ToList())
                        {
                            var multipleselectFilterControl = new CheckBox()
                            {
                                Margin = new Thickness(5, 0, 0, 0),
                                Content = item.Name,
                                IsChecked = true,
                                Tag = item.Value,
                            };
                            groupPanel.Children.Add(multipleselectFilterControl);
                        }

                        var selectAllControl = new CheckBox()
                        {
                            Margin = new Thickness(5, 0, 0, 0),
                            Content = "",
                            IsChecked = true,
                            Tag = groupPanel,
                            IsThreeState = false,
                            VerticalAlignment = System.Windows.VerticalAlignment.Center,
                        };
                        selectAllControl.Click += new RoutedEventHandler(selectAllControl_Click);
                        panel.Children.Add(selectAllControl);
                        panel.Children.Add(new TextBlock { Text = multipleselectFilter.DisplayName, Margin = new Thickness(5, 0, 0, 0), VerticalAlignment = System.Windows.VerticalAlignment.Center });
                        panel.Children.Add(groupPanel);
                        if (!string.IsNullOrWhiteSpace(multipleselectFilter.Description))
                            panel.Children.Add(new TextBlock { Text = multipleselectFilter.Description, Margin = new Thickness(5, 0, 0, 0), VerticalAlignment = System.Windows.VerticalAlignment.Center, FontStyle = FontStyles.Italic });

                        MultipleSelectFilterListPanel.Children.Add(panel);
                    }
                }
                if (multipleselectFilters.Count == 0)
                {
                    MultipleSelectFilterList.Visibility = System.Windows.Visibility.Collapsed;
                }

                //文本过滤
                var textboxFilters = filterData.TextboxFilters.ToList();
                if (textboxFilters.Count > 0)
                {
                    TextboxFilterList.Visibility = System.Windows.Visibility.Visible;
                    foreach (var textboxFilter in textboxFilters)
                    {
                        var textboxFilterControl = new TextBox()
                        {
                            Margin = new Thickness(5, 0, 0, 0),
                            Tag = textboxFilter.ColumnName,
                            Width = 150,
                        };

                        var panel = new StackPanel
                        {
                            Orientation = Orientation.Horizontal,
                            Margin = new Thickness(0, 5, 0, 0),
                        };
                        panel.Children.Add(new TextBlock { Text = textboxFilter.DisplayName, Margin = new Thickness(5, 0, 0, 0), VerticalAlignment = System.Windows.VerticalAlignment.Center });
                        panel.Children.Add(textboxFilterControl);
                        if (!string.IsNullOrWhiteSpace(textboxFilter.Description))
                            panel.Children.Add(new TextBlock { Text = textboxFilter.Description, Margin = new Thickness(5, 0, 0, 0), VerticalAlignment = System.Windows.VerticalAlignment.Center, FontStyle = FontStyles.Italic });
                        TextboxFilterListPanel.Children.Add(panel);
                    }
                }
                if (textboxFilters.Count == 0)
                {
                    TextboxFilterList.Visibility = System.Windows.Visibility.Collapsed;
                }
            }
        }