private CriteriaOperator SetCollectionSourceCriteria(FiltersByCollectionWrapper filtersByCollectionWrapper) { CriteriaOperator criteriaOperator = CriteriaOperator.Parse(filtersByCollectionWrapper.PropertyPathFilter); if (criteriaOperator != null) { new FilterWithObjectsProcessor(View.ObjectSpace).Process(criteriaOperator,FilterWithObjectsProcessorMode.StringToObject); var criterion = new PropertyPathParser(View.ObjectSpace.Session.GetClassInfo(View.ObjectTypeInfo.Type)).Parse(filtersByCollectionWrapper.PropertyPath, criteriaOperator.ToString()); ((ListView) View).CollectionSource.Criteria[filtersByCollectionWrapper.ID] =criterion; return criteriaOperator; } return criteriaOperator; }
private ListViewInfoNodeWrapper GetNodeMemberSearchWrapper(FiltersByCollectionWrapper filtersByCollectionWrapper) { var nodeWrapper = (ListViewInfoNodeWrapper) (new ApplicationNodeWrapper(Application.Info).Views.Items.Where( wrapper => wrapper.Id == filtersByCollectionWrapper.CriteriaPathListViewId)). FirstOrDefault(); if (nodeWrapper== null) throw new ArgumentNullException(filtersByCollectionWrapper.CriteriaPathListViewId+" not found"); return nodeWrapper; }
private string ApplyFilterString(FiltersByCollectionWrapper filtersByCollectionWrapper) { ((ListView)View).CollectionSource.Criteria[filtersByCollectionWrapper.ID] = null; CriteriaOperator criteriaOperator = SetCollectionSourceCriteria(filtersByCollectionWrapper); return GetHintPanelText(filtersByCollectionWrapper, criteriaOperator); }
private string GetHintPanelText(FiltersByCollectionWrapper filtersByCollectionWrapper, CriteriaOperator criteriaOperator) { if (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 void AcceptFilter(FiltersByCollectionWrapper filtersByCollectionWrapper) { ListViewInfoNodeWrapper nodeWrapper = GetNodeMemberSearchWrapper(filtersByCollectionWrapper); string attributeValue = nodeWrapper.Node.GetAttributeValue(FilterStringAttributeName); filtersByCollectionWrapper.PropertyPathFilter = attributeValue; ApplyFilterString(); View.Refresh(); }