private void PredicateBuilderByExpressions(
            IDictionary <PropertyInfo, SearchPredicatePropertyInfo> propertyInfoByPropName)
        {
            foreach (var(prop, searchPredicatePropertyInfo) in propertyInfoByPropName)
            {
                PropertyOrField     = searchPredicatePropertyInfo.PropertyOrField;
                EntityName          = searchPredicatePropertyInfo.EntityName;
                FilterPropertyValue = searchPredicatePropertyInfo.PropertyValue;
                FilterPropertyType  = prop.PropertyType;
                EntityPropertyType  = searchPredicatePropertyInfo.InstanceTypeOfProperty
                                      .GetProperty(EntityName.ToUpper())?.PropertyType;
                var predicateBitwiseOperation = searchPredicatePropertyInfo.PredicateBitwiseOperation;

                if (FilterPropertyValue is string _)
                {
                    var expression = StringContainsExpr();

                    AutoPredicate.PredicateByOperationType(predicateBitwiseOperation, expression);
                }
                else if (FilterPropertyValue is StringFilter stringFilter)
                {
                    var expression = StringFilterContainsExpr(stringFilter);


                    AutoPredicate.PredicateByOperationType(predicateBitwiseOperation, expression);
                }
                else if (FilterPropertyValue is DateTimeFromToFilter dateTimeFromToFilter)
                {
                    var expression = DateTimeExpr(dateTimeFromToFilter, Item);

                    AutoPredicate.PredicateByOperationType(predicateBitwiseOperation, expression);
                }
                else if (FilterPropertyValue.GetType().IsGenericType&&
                         FilterPropertyValue.GetType().GetGenericTypeDefinition() == typeof(NumericFilter <>))
                {
                    var expression = NumericFilterExpr(Item);

                    AutoPredicate.PredicateByOperationType(predicateBitwiseOperation, expression);
                }
                else if (!searchPredicatePropertyInfo.IsEntityTypeProperty)
                {
                    var expression = CollectionContainsExpr();

                    AutoPredicate.PredicateByOperationType(predicateBitwiseOperation, expression);
                }

                else
                {
                    var expression = DefaultExpr();

                    AutoPredicate.PredicateByOperationType(predicateBitwiseOperation, expression);
                }
            }
        }
Exemplo n.º 2
0
        private void ValidateFKbutton_Click(object sender, EventArgs e)
        {
            string schemaname = "";

            ds = DMEEditor.GetDataSource(dataSourceIDComboBox.Text);
            IRDBSource rdb = null;

            if (ds.Category == DatasourceCategory.RDBMS)
            {
                rdb        = (IRDBSource)SourceConnection;
                schemaname = rdb.GetSchemaName();
                EntityStructure.Relations = rdb.GetEntityforeignkeys(EntityName.ToUpper(), schemaname);
                dataHierarchyBindingSource.ResetBindings(false);
            }
        }
Exemplo n.º 3
0
 public AccoutingData(DataManager datamanager)
 {
     ColToSort       = "//button[@value='" + datamanager.Data("SortBy") + "']";
     SearchBy        = datamanager.Data("SearchBy");
     InvoiceStatus   = datamanager.Data("Invoiced_Status");
     InvoiceStatuses = datamanager.Data("Invoice_Status");
     FromDate        = datamanager.Data("From_Date");
     ToDate          = datamanager.Data("To_Date");
     CarrierName     = datamanager.Data("CarrierName");
     SearchType      = datamanager.Data("SearchType");
     EntityName      = datamanager.Data("EntityName");
     SearchVal       = EntityName.ToUpper() == "FACTORINGCOMPANY" ?  datamanager.Data("SearchVal") : datamanager.Data(SearchType);
     Type            = datamanager.Data("Type").ToUpper().Trim();
     AdvSearchButton = datamanager.Data("Adv_Search_Button");
     ClearAllButton  = datamanager.Data("Clear_All_Button");
     SortByColHeader = datamanager.Data("SortByColHeader");
     VerifyColumn    = datamanager.Data("VerifyColumn");
     _datamanager    = datamanager;
     DateFormat      = datamanager.Data("DateFormat");
     Table           = datamanager.Data("Table");
 }
        private void PredicateBuilderByExpressions(
            IDictionary <PropertyInfo, SearchPredicatePropertyInfo> propertyInfoByPropName)
        {
            foreach (var(prop, searchPredicatePropertyInfo) in propertyInfoByPropName)
            {
                PropertyOrField     = searchPredicatePropertyInfo.PropertyOrField;
                EntityName          = searchPredicatePropertyInfo.EntityName;
                FilterPropertyValue = searchPredicatePropertyInfo.PropertyValue;
                FilterPropertyType  = prop.PropertyType;
                EntityPropertyType  = searchPredicatePropertyInfo.InstanceTypeOfProperty
                                      .GetProperty(EntityName.ToUpper(),
                                                   BindingFlags.IgnoreCase | BindingFlags.Public | BindingFlags.Instance)?.PropertyType;
                var predicateBitwiseOperation = searchPredicatePropertyInfo.PredicateBitwiseOperation;

                if (FilterPropertyValue is string _)
                {
                    var expression = StringContainsExpr();

                    AutoPredicate.PredicateByOperationType(predicateBitwiseOperation, expression);
                }
                else if (FilterPropertyValue is StringFilter stringFilter)
                {
                    var expression = StringFilterContainsExpr(stringFilter);


                    AutoPredicate.PredicateByOperationType(predicateBitwiseOperation, expression);
                }
                else if (FilterPropertyValue is DateTimeFromToFilterComplex dateTimeFromToFilterComplex)
                {
                    if (dateTimeFromToFilterComplex.DateFrom != null && !dateTimeFromToFilterComplex.DateFrom.DateTime.HasValue)
                    {
                        throw new ArgumentNullException(nameof(dateTimeFromToFilterComplex.DateFrom));
                    }

                    var expression = DateTimeExpr(dateTimeFromToFilterComplex, Item);

                    AutoPredicate.PredicateByOperationType(predicateBitwiseOperation, expression);
                }
                else if (FilterPropertyValue is DateTimeFromToFilter dateTimeFromToFilter)
                {
                    if (!dateTimeFromToFilter.DateFrom.HasValue)
                    {
                        throw new ArgumentNullException(nameof(dateTimeFromToFilter.DateFrom));
                    }

                    var expression = DateTimeExpr(dateTimeFromToFilter, Item);

                    AutoPredicate.PredicateByOperationType(predicateBitwiseOperation, expression);
                }
                else if (FilterPropertyValue.GetType().IsGenericType&&
                         FilterPropertyValue.GetType().GetGenericTypeDefinition() == typeof(NumericFilter <>))
                {
                    var expression = NumericFilterExpr();

                    AutoPredicate.PredicateByOperationType(predicateBitwiseOperation, expression);
                }
                else if (!searchPredicatePropertyInfo.IsEntityTypeProperty)
                {
                    var expression = CollectionContainsExpr();

                    AutoPredicate.PredicateByOperationType(predicateBitwiseOperation, expression);
                }

                else
                {
                    var expression = DefaultExpr();

                    AutoPredicate.PredicateByOperationType(predicateBitwiseOperation, expression);
                }
            }
        }