private string ApplyFilterString(FiltersByCollectionWrapper filtersByCollectionWrapper) { View.CollectionSource.Criteria[filtersByCollectionWrapper.ID] = null; CriteriaOperator criteriaOperator = SetCollectionSourceCriteria(filtersByCollectionWrapper); return(GetHintPanelText(filtersByCollectionWrapper, criteriaOperator)); }
private void AcceptFilter(FiltersByCollectionWrapper filtersByCollectionWrapper) { IModelListView nodeWrapper = GetNodeMemberSearchWrapper(filtersByCollectionWrapper); filtersByCollectionWrapper.PropertyPathFilter = GetActiveFilter(nodeWrapper); ApplyFilterString(); View.Refresh(); }
private IModelListView GetNodeMemberSearchWrapper(FiltersByCollectionWrapper filtersByCollectionWrapper) { var nodeWrapper = Application.Model.Views.OfType <IModelListView>().FirstOrDefault(wrapper => wrapper.Id == filtersByCollectionWrapper.CriteriaPathListViewId); if (nodeWrapper == null) { throw new ArgumentNullException(filtersByCollectionWrapper.CriteriaPathListViewId + " not found"); } return(nodeWrapper); }
private string GetHintPanelText(FiltersByCollectionWrapper filtersByCollectionWrapper, CriteriaOperator criteriaOperator) { if (!(ReferenceEquals(criteriaOperator, null))) { var wrapper = new LocalizedCriteriaWrapper(filtersByCollectionWrapper.BinaryOperatorLastMemberClassType, criteriaOperator); wrapper.UpdateParametersValues(); CriteriaOperator userFriendlyFilter = CriteriaOperator.Clone(wrapper.CriteriaOperator); new FilterWithObjectsUserFrendlyStringProcessor(filtersByCollectionWrapper.BinaryOperatorLastMemberClassType).Process(userFriendlyFilter); return(userFriendlyFilter.ToString()); } return(null); }
private CriteriaOperator SetCollectionSourceCriteria(FiltersByCollectionWrapper filtersByCollectionWrapper) { CriteriaOperator criteriaOperator = CriteriaOperator.Parse(filtersByCollectionWrapper.PropertyPathFilter); if (!(ReferenceEquals(criteriaOperator, null))) { new FilterWithObjectsProcessor(View.ObjectSpace).Process(criteriaOperator, FilterWithObjectsProcessorMode.StringToObject); var criterion = new PropertyPathParser(((XPObjectSpace)View.ObjectSpace).Session.GetClassInfo(View.ObjectTypeInfo.Type)).Parse(filtersByCollectionWrapper.PropertyPath, criteriaOperator.ToString()); View.CollectionSource.Criteria[filtersByCollectionWrapper.ID] = criterion; return(criteriaOperator); } return(null); }
private CriteriaOperator SetCollectionSourceCriteria(FiltersByCollectionWrapper filtersByCollectionWrapper) { var session = ((XPObjectSpace)ObjectSpace).Session; if (!string.IsNullOrEmpty(filtersByCollectionWrapper.PropertyPathFilter)) { CriteriaOperator criteriaOperator = ObjectSpace.ParseCriteria(filtersByCollectionWrapper.PropertyPathFilter); OnPropertyPathFilterParsed(criteriaOperator); var criteriaProcessor = new FilterWithObjectsProcessor(ObjectSpace, View.ObjectTypeInfo, IsAsyncServerMode()); criteriaProcessor.Process(criteriaOperator, FilterWithObjectsProcessorMode.StringToObject); var enumParametersProcessor = new EnumPropertyValueCriteriaProcessor(View.ObjectTypeInfo); enumParametersProcessor.Process(criteriaOperator); var patchXpoSpecificFieldNameForGridCriteriaProcessor = new PatchXpoSpecificFieldNameProcessor(); patchXpoSpecificFieldNameForGridCriteriaProcessor.Process(criteriaOperator); var classInfo = session.GetClassInfo(View.ObjectTypeInfo.Type); var criterion = new PropertyPathParser(classInfo, session).Parse(filtersByCollectionWrapper.PropertyPath, criteriaOperator.ToString()); View.CollectionSource.Criteria[filtersByCollectionWrapper.ID] = criterion; return(criteriaOperator); } return(null); }