private static FilterRule CreateRule(ElementId ParameterId, string Function, ElementId ValueId) { switch (Function) { case "Равно": return(ParameterFilterRuleFactory.CreateEqualsRule(ParameterId, ValueId)); case "Не равно": return(ParameterFilterRuleFactory.CreateNotEqualsRule(ParameterId, ValueId)); case "Больше": return(ParameterFilterRuleFactory.CreateGreaterRule(ParameterId, ValueId)); case "Больше или равно": return(ParameterFilterRuleFactory.CreateLessOrEqualRule(ParameterId, ValueId)); case "Меньше": return(ParameterFilterRuleFactory.CreateLessRule(ParameterId, ValueId)); case "Меньше или равно": return(ParameterFilterRuleFactory.CreateLessOrEqualRule(ParameterId, ValueId)); default: return(null); } }
private static FilterRule CreateRule(ElementId ParameterId, string Function, string Value) { switch (Function) { case "Равно": return(ParameterFilterRuleFactory.CreateEqualsRule(ParameterId, Value, true)); case "Не равно": return(ParameterFilterRuleFactory.CreateNotEqualsRule(ParameterId, Value, true)); case "Больше": return(ParameterFilterRuleFactory.CreateGreaterRule(ParameterId, Value, true)); case "Больше или равно": return(ParameterFilterRuleFactory.CreateLessOrEqualRule(ParameterId, Value, true)); case "Меньше": return(ParameterFilterRuleFactory.CreateLessRule(ParameterId, Value, true)); case "Меньше или равно": return(ParameterFilterRuleFactory.CreateLessOrEqualRule(ParameterId, Value, true)); case "Содержит": return(ParameterFilterRuleFactory.CreateContainsRule(ParameterId, Value, true)); case "Не содержит": return(ParameterFilterRuleFactory.CreateNotContainsRule(ParameterId, Value, true)); case "Начинается с": return(ParameterFilterRuleFactory.CreateBeginsWithRule(ParameterId, Value, true)); case "Не начинается с": return(ParameterFilterRuleFactory.CreateNotBeginsWithRule(ParameterId, Value, true)); case "Заканчивается на": return(ParameterFilterRuleFactory.CreateEndsWithRule(ParameterId, Value, true)); case "Не заканчивается на": return(ParameterFilterRuleFactory.CreateNotEndsWithRule(ParameterId, Value, true)); case "Поддерживает": return(ParameterFilterRuleFactory.CreateSharedParameterApplicableRule(Value)); default: return(null); } }
public static Autodesk.Revit.DB.FilterRule GetElementIdRule(ElementId paramId, CriteriaName selectedCriteria, ElementId ruleValue) { Autodesk.Revit.DB.FilterRule rule = null; try { switch (selectedCriteria) { case CriteriaName.equals: rule = ParameterFilterRuleFactory.CreateEqualsRule(paramId, ruleValue); break; case CriteriaName.isgreaterthan: rule = ParameterFilterRuleFactory.CreateGreaterRule(paramId, ruleValue); break; case CriteriaName.isgreaterthanorequalto: rule = ParameterFilterRuleFactory.CreateGreaterOrEqualRule(paramId, ruleValue); break; case CriteriaName.islessthan: rule = ParameterFilterRuleFactory.CreateLessRule(paramId, ruleValue); break; case CriteriaName.islessthanorequalto: rule = ParameterFilterRuleFactory.CreateLessOrEqualRule(paramId, ruleValue); break; case CriteriaName.doesnotequal: rule = ParameterFilterRuleFactory.CreateNotEqualsRule(paramId, ruleValue); break; } } catch (Exception ex) { System.Windows.MessageBox.Show("Failed to get integer filter rule.\n" + ex.Message, "Get Integer Filter Rule", MessageBoxButton.OK, MessageBoxImage.Warning); } return(rule); }
public static Autodesk.Revit.DB.FilterRule GetStringRule(ElementId paramId, CriteriaName selectedCriteria, string ruleValue) { Autodesk.Revit.DB.FilterRule rule = null; try { switch (selectedCriteria) { case CriteriaName.beginswith: rule = ParameterFilterRuleFactory.CreateBeginsWithRule(paramId, ruleValue, false); break; case CriteriaName.contains: rule = ParameterFilterRuleFactory.CreateContainsRule(paramId, ruleValue, false); break; case CriteriaName.endswith: rule = ParameterFilterRuleFactory.CreateEndsWithRule(paramId, ruleValue, false); break; case CriteriaName.equals: rule = ParameterFilterRuleFactory.CreateEqualsRule(paramId, ruleValue, false); break; case CriteriaName.isgreaterthan: rule = ParameterFilterRuleFactory.CreateGreaterRule(paramId, ruleValue, false); break; case CriteriaName.isgreaterthanorequalto: rule = ParameterFilterRuleFactory.CreateGreaterOrEqualRule(paramId, ruleValue, false); break; case CriteriaName.islessthan: rule = ParameterFilterRuleFactory.CreateLessRule(paramId, ruleValue, false); break; case CriteriaName.islessthanorequalto: rule = ParameterFilterRuleFactory.CreateLessOrEqualRule(paramId, ruleValue, false); break; case CriteriaName.doesnotbeginwith: rule = ParameterFilterRuleFactory.CreateNotBeginsWithRule(paramId, ruleValue, false); break; case CriteriaName.doesnotcontain: rule = ParameterFilterRuleFactory.CreateNotContainsRule(paramId, ruleValue, false); break; case CriteriaName.doesnotendwith: rule = ParameterFilterRuleFactory.CreateNotEndsWithRule(paramId, ruleValue, false); break; case CriteriaName.doesnotequal: rule = ParameterFilterRuleFactory.CreateNotEqualsRule(paramId, ruleValue, false); break; } } catch (Exception ex) { System.Windows.MessageBox.Show("Failed to get string filter rule.\n" + ex.Message, "Get String Filter Rule", MessageBoxButton.OK, MessageBoxImage.Warning); } return(rule); }