/// <summary> /// Executes the filter options. /// </summary> /// <param name="o">The o.</param> private void ExecuteFilterOptions(SimpleFilterViewModel o) { if (o.SelectedMember == null) { return; } var propertyDefinition = (FieldPathPropertyDefinition)o.SelectedMember.ItemPropertyDefinition; var filteringProcessSystemName = propertyDefinition.DeclaringProcessSystemName; FilterOptionsVM.Value.CleanUp(); FilterOptionsVM.Value.ShowUdPs = true; FilterOptionsVM.Value.ShowSystemParameters = o.MemberType != typeof(ApprovalStates) && (propertyDefinition.SystemName != Constants.CurrentStateColumnName); FilterOptionsVM.Value.Filter = o; FilterOptionsVM.Value.FilteringProcessSystemName = filteringProcessSystemName; FilterOptionsVM.Value.SetupCrossRefOptions(o, ProcessSystemName); FilterOptionsVM.Value.SetupReverseCrossRefOptions(o, ProcessSystemName); FilterOptionsVM.Value.SetupTreeViewOptions(o, ProcessSystemName); ThePopupFactory.Value.Popup() .SetCustomViewModel(FilterOptionsVM.Value) .SetIsModal(true) .SetIsChild(true) .SetCaption("Filter Options") .SetPosition(PopupPosition.Center) .Show(() => { if (FilterOptionsVM.Value.IsStaticValue) { DynamicDataFilterBehavior.SetSystemValue(o.Descriptor, null); o.TriggerChange(); } else if (FilterOptionsVM.Value.IsUdp) { var val = FilterValue.CreateUdp(FilterOptionsVM.Value.UserDefinedCaption, o.Member, FilterOptionsVM.Value.DefaultValue); DynamicDataFilterBehavior.SetSystemValue(o.Descriptor, val); o.TriggerChange(); } else if (FilterOptionsVM.Value.IsSystemVariable) { var val = FilterValue.CreateSystemVariable(FilterOptionsVM.Value.SelectedSystemVariable.Caption, FilterOptionsVM.Value.SelectedSystemVariable.Value); DynamicDataFilterBehavior.SetSystemValue(o.Descriptor, val); o.TriggerChange(); //o.Value = val.ToString(); //if (!(o.MemberType == typeof(IInfoClass) && !(val is IInfoClass))) //{ // o.Value = val.ToString(); //} } }); }