Beispiel #1
0
 void AddNewCustomFilter(FilterItem filterItem)
 {
     try
     {
         if (string.IsNullOrEmpty(filterItem.Name))
         {
             int prevIndex = CustomFilters.Select(fi => Regex.Match(fi.Name, NewFilterName + @" (?<index>\d+)")).Where(m => m.Success).Select(m => int.Parse(m.Groups["index"].Value)).DefaultIfEmpty(0).Max();
             filterItem.Name = NewFilterName + " " + (prevIndex + 1);
         }
         else
         {
             var existing = CustomFilters.FirstOrDefault(fi => fi.Name == filterItem.Name);
             if (existing != null)
             {
                 CustomFilters.Remove(existing);
             }
         }
         CustomFilters.Add(filterItem);
         SaveCustomFilters();
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message);
     }
 }
        public void DuplicateFilter(FilterItem filterItem)
        {
            var newItem = filterItem.Clone("Copy of " + filterItem.Name, null);

            CustomFilters.Add(newItem);
            SaveCustomFilters();
        }
        public virtual void DuplicateFilter(FilterItemBase filterItem)
        {
            var newItem = CreateFilterItem("Copy of " + filterItem.Name, filterItem.FilterCriteria, null);

            CustomFilters.Add(newItem);
            SaveCustomFilters();
        }
Beispiel #4
0
        protected override void OnParametersSet()
        {
            _filterComponents = new QueryDictionary <Type>();
            _filterComponents.Add("System.String", typeof(TextFilterComponent <T>));
            _filterComponents.Add("System.Int32", typeof(NumberFilterComponent <T>));
            _filterComponents.Add("System.Double", typeof(NumberFilterComponent <T>));
            _filterComponents.Add("System.Decimal", typeof(NumberFilterComponent <T>));
            _filterComponents.Add("System.Byte", typeof(NumberFilterComponent <T>));
            _filterComponents.Add("System.Single", typeof(NumberFilterComponent <T>));
            _filterComponents.Add("System.Float", typeof(NumberFilterComponent <T>));
            _filterComponents.Add("System.Int64", typeof(NumberFilterComponent <T>));
            _filterComponents.Add("System.Int16", typeof(NumberFilterComponent <T>));
            _filterComponents.Add("System.UInt64", typeof(NumberFilterComponent <T>));
            _filterComponents.Add("System.UInt32", typeof(NumberFilterComponent <T>));
            _filterComponents.Add("System.UInt16", typeof(NumberFilterComponent <T>));
            _filterComponents.Add("System.DateTime", typeof(DateTimeFilterComponent <T>));
            _filterComponents.Add("System.Date", typeof(DateTimeFilterComponent <T>));
            _filterComponents.Add("System.DateTimeOffset", typeof(DateTimeFilterComponent <T>));
            _filterComponents.Add("System.Boolean", typeof(BooleanFilterComponent <T>));

            if (CustomFilters == null)
            {
                CustomFilters = new QueryDictionary <Type>();
            }
            if (CustomFilters.Any(r => r.Key.Equals(SelectItem.ListFilter)))
            {
                CustomFilters.Remove(SelectItem.ListFilter);
            }
            CustomFilters.Add(SelectItem.ListFilter, typeof(ListFilterComponent <T>));
            foreach (var widget in CustomFilters)
            {
                if (_filterComponents.ContainsKey(widget.Key))
                {
                    _filterComponents[widget.Key] = widget.Value;
                }
                else
                {
                    _filterComponents.Add(widget);
                }
            }

            FirstColumn = (ICGridColumn)Grid.Columns.FirstOrDefault();

            _hasSubGrid           = Grid.SubGridKeys != null && Grid.SubGridKeys.Length > 0;
            _hasTotals            = Grid.IsSumEnabled || Grid.IsAverageEnabled || Grid.IsMaxEnabled || Grid.IsMinEnabled;
            _requiredTotalsColumn = _hasTotals &&
                                    FirstColumn != null &&
                                    (FirstColumn.IsSumEnabled || FirstColumn.IsAverageEnabled ||
                                     FirstColumn.IsMaxEnabled || FirstColumn.IsMinEnabled);

            InitSubGridVars();

            var queryBuilder          = new CustomQueryStringBuilder(Grid.Settings.SearchSettings.Query);
            var exceptQueryParameters = new List <string> {
                GridPager.DefaultPageSizeQueryParameter
            };

            _changePageSizeUrl = queryBuilder.GetQueryStringExcept(exceptQueryParameters);
            _pageSize          = Grid.Pager.ChangePageSize && Grid.Pager.QueryPageSize > 0 ? Grid.Pager.QueryPageSize : Grid.Pager.PageSize;
        }
Beispiel #5
0
        public IQueryable <TemplateAsset> GetResultWithoutFilter <T>(IFilter <T> filter)
        {
            var result = Base;

            foreach (var f in StandardFilters.Values.Concat(CustomFilters.Where(cf => cf.SelectedFilter != null).Select(cf => cf.SelectedFilter)).Except(new[] { filter }))
            {
                result = f.FilterFunc(result);
            }
            return(result);
        }
 public void ResetCustomFilters()
 {
     if (CustomFilters.Contains(SelectedItem))
     {
         SelectedItem = null;
     }
     settings.CustomFilters = new FilterInfoList();
     CustomFilters.Clear();
     settings.SaveSettings();
 }
Beispiel #7
0
 /// <summary>
 /// Remove the specified filter
 /// </summary>
 /// <param name="deleteMe"></param>
 public void DeleteFilter(IFilterIdentifier deleteMe)
 {
     if (deleteMe is CustomFilter)
     {
         CustomFilters.Remove(deleteMe.Name);
     }
     else if (deleteMe is WindowedSyncFilter)
     {
         WindowedSyncFilters.Remove(deleteMe.Name);
     }
 }
Beispiel #8
0
        public override void OnFiltersChanged(Lazaro.Pres.Filters.FilterCollection filters)
        {
            this.CustomFilters.Clear();

            if (((Lazaro.Pres.Filters.SetFilter)(filters["articulos_categorias.cache_stock_actual"])).CurrentValue == "f")
            {
                CustomFilters.AddWithValue("articulos_categorias.stock_minimo>0 AND articulos_categorias.stock_minimo>(SELECT SUM(articulos.stock_actual) FROM articulos WHERE articulos_categorias.id_categoria=id_categoria)");
            }

            base.OnFiltersChanged(filters);
        }
Beispiel #9
0
        public override void OnFiltersChanged(Lazaro.Pres.Filters.FilterCollection filters)
        {
            this.CustomFilters.Clear();

            if (((Lazaro.Pres.Filters.SetFilter)(filters["pvs.tipo"])).CurrentValue != "*")
            {
                CustomFilters.AddWithValue("pvs.tipo", Lfx.Types.Parsing.ParseInt(filters[0].Value.ToString()));
            }

            base.OnFiltersChanged(filters);
        }
        protected void AddNewCustomFilter(FilterItemBase filterItem)
        {
            var existing = CustomFilters.FirstOrDefault(fi => fi.Name == filterItem.Name);

            if (existing != null)
            {
                CustomFilters.Remove(existing);
            }
            CustomFilters.Add(filterItem);
            SaveCustomFilters();
        }
Beispiel #11
0
 public void RaiseLanguageChanged()
 {
     IsRefreshingUi = true;
     foreach (var filter in StandardFilters.Values)
     {
         filter.ResetFilter();
     }
     CustomFilters.Clear();
     IsRefreshingUi = false;
     UpdateUI();
 }
Beispiel #12
0
        public void SetItems()
        {
            var result = Base;

            foreach (var filter in StandardFilters.Values.Concat(CustomFilters.Where(cf => cf.SelectedFilter != null).Select(cf => cf.SelectedFilter)))
            {
                result = filter.FilterFunc(result);
            }
            //result = result.OrderBy(s => s.Text);
            Items = result.ToList();
        }
Beispiel #13
0
 public void DeleteCustomFilter(FilterItem filterItem)
 {
     try
     {
         CustomFilters.Remove(filterItem);
         SaveCustomFilters();
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message);
     }
 }
        internal void FromCustomFilters(CustomFilters cfs)
        {
            SetAllNull();

            if ((cfs.And != null) && cfs.And.Value)
            {
                And = cfs.And.Value;
            }

            var          i = 0;
            CustomFilter cf;

            using (var oxr = OpenXmlReader.Create(cfs))
            {
                while (oxr.Read())
                {
                    if (oxr.ElementType == typeof(CustomFilter))
                    {
                        ++i;
                        cf = (CustomFilter)oxr.LoadCurrentElement();
                        if (i == 1)
                        {
                            OneCustomFilter = true;
                            if (cf.Operator != null)
                            {
                                FirstOperator = cf.Operator.Value;
                            }
                            if (cf.Val != null)
                            {
                                FirstVal = cf.Val.Value;
                            }
                        }
                        else if (i == 2)
                        {
                            OneCustomFilter = false;
                            if (cf.Operator != null)
                            {
                                SecondOperator = cf.Operator.Value;
                            }
                            if (cf.Val != null)
                            {
                                SecondVal = cf.Val.Value;
                            }
                        }
                        else
                        {
                            break;
                        }
                    }
                }
            }
        }
Beispiel #15
0
 public void ResetFilters()
 {
     IsRefreshingUi = true;
     foreach (var filter in StandardFilters.Values)
     {
         filter.ResetFilter();
     }
     CustomFilters.Clear();
     CustomFilters.Add(CreateFilterHolder());
     OrderFilter.ResetFilter();
     IsRefreshingUi = false;
     UpdateUI();
 }
Beispiel #16
0
 public void DuplicateFilter(FilterItem filterItem)
 {
     try
     {
         var newItem = filterItem.Clone("Copy of " + filterItem.Name, null);
         CustomFilters.Add(newItem);
         SaveCustomFilters();
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message);
     }
 }
Beispiel #17
0
 public void UpdateUI(IFilter filter = null)
 {
     if (!IsRefreshingUi)
     {
         IsRefreshingUi = true;
         SetItems();
         PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(Items)));
         foreach (var item in StandardFilters.Values.Concat(CustomFilters.Select(cf => cf.SelectedFilter)).Except(new[] { filter }))
         {
             item.UpdateUI();
         }
         OrderFilter.UpdateUI();
         IsRefreshingUi = false;
     }
 }
Beispiel #18
0
        public IEnumerable <TemplateAsset> GetResultWithoutFilter <T>(IFilter <T> filter)
        {
            IEnumerable <TemplateAsset> result = null;

            foreach (var f in StandardFilters.Values.Concat(CustomFilters.Where(cf => cf.SelectedFilter != null).Select(cf => cf.SelectedFilter)).Except(new[] { filter }))
            {
                if (f.SavedItems != null)
                {
                    result = result == null ? f.SavedItems : result.Intersect(f.SavedItems);
                }
            }
            if (result == null)
            {
                result = Base;
            }
            return(result);
        }
Beispiel #19
0
 public void ResetCustomFilters()
 {
     try
     {
         if (CustomFilters.Contains(SelectedItem))
         {
             SelectedItem = null;
         }
         settings.CustomFilters = new FilterInfoList();
         CustomFilters.Clear();
         settings.SaveSettings();
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message);
     }
 }
        internal void FromFilterColumn(FilterColumn fc)
        {
            SetAllNull();

            if (fc.Filters != null)
            {
                Filters.FromFilters(fc.Filters);
                HasFilters = true;
            }
            if (fc.Top10 != null)
            {
                Top10.FromTop10(fc.Top10);
                HasTop10 = true;
            }
            if (fc.CustomFilters != null)
            {
                CustomFilters.FromCustomFilters(fc.CustomFilters);
                HasCustomFilters = true;
            }
            if (fc.DynamicFilter != null)
            {
                DynamicFilter.FromDynamicFilter(fc.DynamicFilter);
                HasDynamicFilter = true;
            }
            if (fc.ColorFilter != null)
            {
                ColorFilter.FromColorFilter(fc.ColorFilter);
                HasColorFilter = true;
            }
            if (fc.IconFilter != null)
            {
                IconFilter.FromIconFilter(fc.IconFilter);
                HasIconFilter = true;
            }

            ColumnId = fc.ColumnId.Value;
            if ((fc.HiddenButton != null) && fc.HiddenButton.Value)
            {
                HiddenButton = fc.HiddenButton.Value;
            }
            if ((fc.ShowButton != null) && !fc.ShowButton.Value)
            {
                ShowButton = fc.ShowButton.Value;
            }
        }
        internal CustomFilters ToCustomFilters()
        {
            var cfs = new CustomFilters();

            if ((And != null) && And.Value)
            {
                cfs.And = And.Value;
            }

            CustomFilter cf;

            if (OneCustomFilter)
            {
                cf = new CustomFilter();
                if (HasFirstOperator)
                {
                    cf.Operator = FirstOperator;
                }
                cf.Val = FirstVal;
                cfs.Append(cf);
            }
            else
            {
                cf = new CustomFilter();
                if (HasFirstOperator)
                {
                    cf.Operator = FirstOperator;
                }
                cf.Val = FirstVal;
                cfs.Append(cf);

                cf = new CustomFilter();
                if (HasSecondOperator)
                {
                    cf.Operator = SecondOperator;
                }
                cf.Val = SecondVal;
                cfs.Append(cf);
            }

            return(cfs);
        }
        internal CustomFilters ToCustomFilters()
        {
            CustomFilters cfs = new CustomFilters();

            if (this.And != null && this.And.Value)
            {
                cfs.And = this.And.Value;
            }

            CustomFilter cf;

            if (this.OneCustomFilter)
            {
                cf = new CustomFilter();
                if (HasFirstOperator)
                {
                    cf.Operator = this.FirstOperator;
                }
                cf.Val = this.FirstVal;
                cfs.Append(cf);
            }
            else
            {
                cf = new CustomFilter();
                if (HasFirstOperator)
                {
                    cf.Operator = this.FirstOperator;
                }
                cf.Val = this.FirstVal;
                cfs.Append(cf);

                cf = new CustomFilter();
                if (HasSecondOperator)
                {
                    cf.Operator = this.SecondOperator;
                }
                cf.Val = this.SecondVal;
                cfs.Append(cf);
            }

            return(cfs);
        }
        internal FilterColumn ToFilterColumn()
        {
            var fc = new FilterColumn();

            if (HasFilters)
            {
                fc.Filters = Filters.ToFilters();
            }
            if (HasTop10)
            {
                fc.Top10 = Top10.ToTop10();
            }
            if (HasCustomFilters)
            {
                fc.CustomFilters = CustomFilters.ToCustomFilters();
            }
            if (HasDynamicFilter)
            {
                fc.DynamicFilter = DynamicFilter.ToDynamicFilter();
            }
            if (HasColorFilter)
            {
                fc.ColorFilter = ColorFilter.ToColorFilter();
            }
            if (HasIconFilter)
            {
                fc.IconFilter = IconFilter.ToIconFilter();
            }
            fc.ColumnId = ColumnId;
            if ((HiddenButton != null) && HiddenButton.Value)
            {
                fc.HiddenButton = HiddenButton.Value;
            }
            if ((ShowButton != null) && !ShowButton.Value)
            {
                fc.ShowButton = ShowButton.Value;
            }

            return(fc);
        }
Beispiel #24
0
 public void UpdateUI(IFilter filter = null)
 {
     if (!IsRefreshingUi)
     {
         SetItems();
         this.PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("Items"));
         if (filter == null)
         {
             foreach (var item in StandardFilters.Values.Concat(CustomFilters.Where(cf => cf.SelectedFilter != null).Select(cf => cf.SelectedFilter)))
             {
                 item.UpdateUI();
             }
         }
         else
         {
             foreach (var item in StandardFilters.Values.Concat(CustomFilters.Where(cf => cf.SelectedFilter != null).Select(cf => cf.SelectedFilter).Except(new[] { filter })))
             {
                 item.UpdateUI();
             }
         }
     }
 }
        internal SLFilterColumn Clone()
        {
            var fc = new SLFilterColumn();

            fc.HasFilters       = HasFilters;
            fc.Filters          = Filters.Clone();
            fc.HasTop10         = HasTop10;
            fc.Top10            = Top10.Clone();
            fc.HasCustomFilters = HasCustomFilters;
            fc.CustomFilters    = CustomFilters.Clone();
            fc.HasDynamicFilter = HasDynamicFilter;
            fc.DynamicFilter    = DynamicFilter.Clone();
            fc.HasColorFilter   = HasColorFilter;
            fc.ColorFilter      = ColorFilter.Clone();
            fc.HasIconFilter    = HasIconFilter;
            fc.IconFilter       = IconFilter.Clone();
            fc.ColumnId         = ColumnId;
            fc.HiddenButton     = HiddenButton;
            fc.ShowButton       = ShowButton;

            return(fc);
        }
Beispiel #26
0
        internal void FromCustomFilters(CustomFilters cfs)
        {
            this.SetAllNull();

            if (cfs.And != null && cfs.And.Value) this.And = cfs.And.Value;

            int i = 0;
            CustomFilter cf;
            using (OpenXmlReader oxr = OpenXmlReader.Create(cfs))
            {
                while (oxr.Read())
                {
                    if (oxr.ElementType == typeof(CustomFilter))
                    {
                        ++i;
                        cf = (CustomFilter)oxr.LoadCurrentElement();
                        if (i == 1)
                        {
                            this.OneCustomFilter = true;
                            if (cf.Operator != null) this.FirstOperator = cf.Operator.Value;
                            if (cf.Val != null) this.FirstVal = cf.Val.Value;
                        }
                        else if (i == 2)
                        {
                            this.OneCustomFilter = false;
                            if (cf.Operator != null) this.SecondOperator = cf.Operator.Value;
                            if (cf.Val != null) this.SecondVal = cf.Val.Value;
                        }
                        else
                        {
                            break;
                        }
                    }
                }
            }
        }
        private static void PopulateAutoFilter(XLAutoFilter xlAutoFilter, AutoFilter autoFilter)
        {
            var filterRange = xlAutoFilter.Range;
            autoFilter.Reference = filterRange.RangeAddress.ToString();

            foreach (var kp in xlAutoFilter.Filters)
            {
                var filterColumn = new FilterColumn {ColumnId = (UInt32)kp.Key - 1};
                var xlFilterColumn = xlAutoFilter.Column(kp.Key);
                var filterType = xlFilterColumn.FilterType;
                if (filterType == XLFilterType.Custom)
                {
                    var customFilters = new CustomFilters();
                    foreach (var filter in kp.Value)
                    {
                        var customFilter = new CustomFilter {Val = filter.Value.ToString()};

                        if (filter.Operator != XLFilterOperator.Equal)
                            customFilter.Operator = filter.Operator.ToOpenXml();

                        if (filter.Connector == XLConnector.And)
                            customFilters.And = true;

                        customFilters.Append(customFilter);
                    }
                    filterColumn.Append(customFilters);
                }
                else if (filterType == XLFilterType.TopBottom)
                {
                    var top101 = new Top10 {Val = (double)xlFilterColumn.TopBottomValue};
                    if (xlFilterColumn.TopBottomType == XLTopBottomType.Percent)
                        top101.Percent = true;
                    if (xlFilterColumn.TopBottomPart == XLTopBottomPart.Bottom)
                        top101.Top = false;

                    filterColumn.Append(top101);
                }
                else if (filterType == XLFilterType.Dynamic)
                {
                    var dynamicFilter = new DynamicFilter
                    {Type = xlFilterColumn.DynamicType.ToOpenXml(), Val = xlFilterColumn.DynamicValue};
                    filterColumn.Append(dynamicFilter);
                }
                else
                {
                    var filters = new Filters();
                    foreach (var filter in kp.Value)
                    {
                        filters.Append(new Filter {Val = filter.Value.ToString()});
                    }

                    filterColumn.Append(filters);
                }
                autoFilter.Append(filterColumn);
            }


            if (xlAutoFilter.Sorted)
            {
                var sortState = new SortState
                {
                    Reference =
                        filterRange.Range(filterRange.FirstCell().CellBelow(), filterRange.LastCell()).RangeAddress.
                            ToString()
                };
                var sortCondition = new SortCondition
                {
                    Reference =
                        filterRange.Range(1, xlAutoFilter.SortColumn, filterRange.RowCount(),
                            xlAutoFilter.SortColumn).RangeAddress.ToString()
                };
                if (xlAutoFilter.SortOrder == XLSortOrder.Descending)
                    sortCondition.Descending = true;

                sortState.Append(sortCondition);
                autoFilter.Append(sortState);
            }
        }
 public void DeleteCustomFilter(FilterItem filterItem)
 {
     CustomFilters.Remove(filterItem);
     SaveCustomFilters();
 }
Beispiel #29
0
 /// <summary>
 /// Remove a custom filter from the request
 /// </summary>
 /// <param name="name"></param>
 /// <returns></returns>
 public ListQueryRequest RemoveCustomFilter(String name)
 {
     CustomFilters.Remove(name);
     return(this);
 }
Beispiel #30
0
 public DemoController()
 {
     ModuleId      = 10;
     customfilters = CustomFilters.Select(x => x.FilterId).ToArray();
 }
Beispiel #31
0
 protected ItemsHolder(List <TemplateAsset> Base)
 {
     this.Base   = Base;
     OrderFilter = new OrderFilter(this);
     CustomFilters.Add(CreateFilterHolder());
 }
 public virtual void DeleteCustomFilter(FilterItemBase filterItem)
 {
     CustomFilters.Remove(filterItem);
     SaveCustomFilters();
 }
Beispiel #33
0
        internal CustomFilters ToCustomFilters()
        {
            CustomFilters cfs = new CustomFilters();
            if (this.And != null && this.And.Value) cfs.And = this.And.Value;

            CustomFilter cf;
            if (this.OneCustomFilter)
            {
                cf = new CustomFilter();
                if (HasFirstOperator) cf.Operator = this.FirstOperator;
                cf.Val = this.FirstVal;
                cfs.Append(cf);
            }
            else
            {
                cf = new CustomFilter();
                if (HasFirstOperator) cf.Operator = this.FirstOperator;
                cf.Val = this.FirstVal;
                cfs.Append(cf);

                cf = new CustomFilter();
                if (HasSecondOperator) cf.Operator = this.SecondOperator;
                cf.Val = this.SecondVal;
                cfs.Append(cf);
            }

            return cfs;
        }