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); } } }
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); } }
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); } } }