public IList <IEntityFilter> PrepareFilters(Entity entity, HttpRequestBase request)
        {
            var filters = new List <IEntityFilter>();

            foreach (var property in entity.Properties.Where(x => x.DataType == DataType.Bool))
            {
                var value = request[property.Name];

                var filter = new BoolEntityFilter();
                filter.Initialize(property, value);
                filters.Add(filter);
            }

            foreach (var property in entity.Properties.Where(x => x.DataType == DataType.Enum))
            {
                var value = request[property.Name];

                var filter = new EnumEntityFilter();
                filter.Initialize(property, value);
                filters.Add(filter);
            }

            foreach (var property in entity.Properties.Where(x => x.DataType == DataType.DateTime))
            {
                var value = request[property.Name];

                var filter = new DateTimeEntityFilter();
                filter.Initialize(property, value);
                filters.Add(filter);
            }

            return(filters);
        }