コード例 #1
0
ファイル: StringExtensions.cs プロジェクト: MyKaez/nc.common
        public static IFilter <string> CreateFilter(this string pattern, StringFilterType filterType)
        {
            switch (filterType)
            {
            case StringFilterType.Regex:
                return(new RegexFilter(pattern));

            case StringFilterType.Wildcard:
                return(new WildcardFilter(pattern));

            case StringFilterType.CharSequence:
                return(new CharSequenceFilter(pattern));

            default:
                throw new InvalidCastException($"The filter type '{filterType}' is not mapped yet.");
            }
        }
コード例 #2
0
        public void applyFilterToObject(IList <TTTemplatePrintExcel> filters, Core.Domain.Search.TTSearchAdvancedDataDetails tTSearchAdvancedDataDetails, int indexFilter)
        {
            switch (tTSearchAdvancedDataDetails.ControlScreenSearchAdvanced)
            {
            case TypeControlSearchAdvanced.Text:
            {
                #region Variable Filter del Bussiness Object para Textos
                StringFilterType filter = new StringFilterType();
                filter.Order = (FiltersPropertiesModeOrderFields)tTSearchAdvancedDataDetails.Order;
                if (tTSearchAdvancedDataDetails.ConditionText != TypesTextFilter.None)
                {
                    if (tTSearchAdvancedDataDetails.From != "" && tTSearchAdvancedDataDetails.ConditionText != TypesTextFilter.None)
                    {
                        switch (tTSearchAdvancedDataDetails.ConditionText)
                        {
                        case TypesTextFilter.Igual:
                        {
                            filter.FilterType = TypesTextFilter.Igual;
                            break;
                        }

                        case TypesTextFilter.Contenga:
                        {
                            filter.FilterType = TypesTextFilter.Contenga;
                            break;
                        }

                        case TypesTextFilter.Empieze:
                        {
                            filter.FilterType = TypesTextFilter.Empieze;
                            break;
                        }

                        case TypesTextFilter.Termine:
                        {
                            filter.FilterType = TypesTextFilter.Termine;
                            break;
                        }
                        }
                        filter.Text = tTSearchAdvancedDataDetails.From;
                    }
                }
                AddFilterXDT(filters, tTSearchAdvancedDataDetails.DTID.ToString(), filter, indexFilter);
                #endregion
                break;
            }

            case TypeControlSearchAdvanced.Numeric:
            {
                #region Variable Filter del Bussiness Object para Numericos
                NumericFilterType filter = new NumericFilterType();
                filter.Order = (FiltersPropertiesModeOrderFields)tTSearchAdvancedDataDetails.Order;
                if ((tTSearchAdvancedDataDetails.ConditionText == TypesTextFilter.None) && (tTSearchAdvancedDataDetails.From != "" || tTSearchAdvancedDataDetails.To != ""))
                {
                    if (tTSearchAdvancedDataDetails.From != "")
                    {
                        filter.From = Convert.ToInt16(tTSearchAdvancedDataDetails.From);
                    }
                    if (tTSearchAdvancedDataDetails.To != "")
                    {
                        filter.To = Convert.ToInt16(tTSearchAdvancedDataDetails.To);
                    }
                }
                AddFilterXDT(filters, tTSearchAdvancedDataDetails.DTID.ToString(), filter, indexFilter);
                #endregion
                break;
            }

            case TypeControlSearchAdvanced.Logic:
            {
                #region Variable Filter del Bussiness Object para Logicos
                LogicFilterType filter = new LogicFilterType();
                filter.Order = (FiltersPropertiesModeOrderFields)tTSearchAdvancedDataDetails.Order;
                if (tTSearchAdvancedDataDetails.Yes_Not != null)
                {
                    filter.Active = tTSearchAdvancedDataDetails.Yes_Not;
                }
                AddFilterXDT(filters, tTSearchAdvancedDataDetails.DTID.ToString(), filter, indexFilter);
                #endregion
                break;
            }

            case TypeControlSearchAdvanced.Money:
            {
                #region Variable Filter del Bussiness Object para Decimal
                FilDecimalFilterType filter = new FilDecimalFilterType();
                filter.Order = (FiltersPropertiesModeOrderFields)tTSearchAdvancedDataDetails.Order;
                if (tTSearchAdvancedDataDetails.From != "" || tTSearchAdvancedDataDetails.To != "")
                {
                    if (tTSearchAdvancedDataDetails.From != "")
                    {
                        filter.From = Convert.ToDecimal(tTSearchAdvancedDataDetails.From);
                    }
                    if (tTSearchAdvancedDataDetails.To != "")
                    {
                        filter.To = Convert.ToDecimal(tTSearchAdvancedDataDetails.To);
                    }
                }
                AddFilterXDT(filters, tTSearchAdvancedDataDetails.DTID.ToString(), filter, indexFilter);
                #endregion
                break;
            }

            case TypeControlSearchAdvanced.Hour:
            {
                break;
            }

            case TypeControlSearchAdvanced.Dependiente:
            {
                #region Variable Filter del Bussiness Object para Dependientes
                DependentFilterType filter = new DependentFilterType();
                filter.Order         = (FiltersPropertiesModeOrderFields)tTSearchAdvancedDataDetails.Order;
                filter.DependentList = tTSearchAdvancedDataDetails.ListaDependientes.ToArray();
                AddFilterXDT(filters, tTSearchAdvancedDataDetails.DTID.ToString(), filter, indexFilter);
                #endregion
                break;
            }

            case TypeControlSearchAdvanced.Decimal:
            {
                #region Variable Filter del Bussiness Object para Decimal
                FilDecimalFilterType filter = new FilDecimalFilterType();
                filter.Order = (FiltersPropertiesModeOrderFields)tTSearchAdvancedDataDetails.Order;
                if (tTSearchAdvancedDataDetails.From != "" || tTSearchAdvancedDataDetails.To != "")
                {
                    if (tTSearchAdvancedDataDetails.From != "")
                    {
                        filter.From = Convert.ToDecimal(tTSearchAdvancedDataDetails.From);
                    }
                    if (tTSearchAdvancedDataDetails.To != "")
                    {
                        filter.To = Convert.ToDecimal(tTSearchAdvancedDataDetails.To);
                    }
                }
                AddFilterXDT(filters, tTSearchAdvancedDataDetails.DTID.ToString(), filter, indexFilter);
                #endregion
                break;
            }

            case TypeControlSearchAdvanced.Date:
            {
                #region Variable Filter del Bussiness Object para Dates
                FillDateFilterType filter = new FillDateFilterType();
                filter.Order = (FiltersPropertiesModeOrderFields)tTSearchAdvancedDataDetails.Order;
                if (tTSearchAdvancedDataDetails.FromDate != null || tTSearchAdvancedDataDetails.ToDate != null)
                {
                    if (tTSearchAdvancedDataDetails.FromDate != null)
                    {
                        filter.From = tTSearchAdvancedDataDetails.FromDate;
                    }
                    if (tTSearchAdvancedDataDetails.ToDate != null)
                    {
                        filter.To = (tTSearchAdvancedDataDetails.ToDate);
                    }
                }
                AddFilterXDT(filters, tTSearchAdvancedDataDetails.DTID.ToString(), filter, indexFilter);
                #endregion
                break;
            }

            case TypeControlSearchAdvanced.Color:
            {
                break;
            }
            }
        }
コード例 #3
0
 public static CompoundFilterBuilder <TFilterable> And <TFilterable>(this SimpleFilterBuilder <TFilterable> simpleFilterBuilder, string propertyName, StringFilterType filterType, string filterValue) where TFilterable : class, IFilterable
 {
     return(simpleFilterBuilder.And(new StringCriterion <TFilterable>(propertyName, filterType, filterValue)));
 }
コード例 #4
0
 public static SimpleFilterBuilder <TFilterable> Where <TFilterable>(this FilterBuilder <TFilterable> filterBuilderBase, string propertyName, StringFilterType filterType, string filterValue) where TFilterable : class, IFilterable
 {
     return(filterBuilderBase.Where(new StringCriterion <TFilterable>(propertyName, filterType, filterValue)));
 }
コード例 #5
0
        private bool TryConvertMethodCallToStringFilterType(string methodName, out StringFilterType stringFilterType)
        {
            switch (methodName)
            {
                case "StartsWith":
                    stringFilterType = StringFilterType.StartsWith;
                    return true;

                case "Contains":
                    stringFilterType = StringFilterType.Contains;
                    return true;

                default:
                    stringFilterType = StringFilterType.Equals;
                    return false;
            }
        }
コード例 #6
0
        private bool TryConvertExpressionTypeToStringFilterType(ExpressionType whereType, out StringFilterType stringFilterType)
        {
            switch (whereType)
            {
                case ExpressionType.Equal:
                    stringFilterType = StringFilterType.Equals;
                    return true;

                case ExpressionType.NotEqual:
                    stringFilterType = StringFilterType.NotEquals;
                    return true;

                default:
                    stringFilterType = StringFilterType.Equals;
                    return false;
            }
        }
コード例 #7
0
 public StringCriterion(Expression <Func <TFilterable, string> > propertyNameExpression, StringFilterType filterType, string filterValue) : base(propertyNameExpression, filterType, filterValue)
 {
 }
コード例 #8
0
 public StringCriterion(string propertyName, StringFilterType filterType, string filterValue) : base(propertyName, filterType, filterValue)
 {
 }
コード例 #9
0
 public static CompoundFilterBuilder <TFilterable> Or <TFilterable>(this SimpleFilterBuilder <TFilterable> simpleFilterBuilder, Expression <Func <TFilterable, string> > propertyNameExpression, StringFilterType filterType, string filterValue) where TFilterable : class, IFilterable
 {
     return(simpleFilterBuilder.Or(new StringCriterion <TFilterable>(propertyNameExpression, filterType, filterValue)));
 }