/// <summary> /// Tries the get filter. /// </summary> /// <param name="source">The source.</param> /// <param name="filter">The filter.</param> /// <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns> public bool TryGetFilter(IDynamicObject source, out ColumnFilter filter) { filter = null; var value = _valueCalculator.GetValue(source, _field.MappingKey); if (value == null || DateTime.MinValue.Equals(value)) return false; filter = new ColumnFilter(_property.Name, value); return true; }
/// <summary> /// Tries the get filter. /// </summary> /// <param name="source">The source.</param> /// <param name="filter">The filter.</param> /// <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns> public bool TryGetFilter(IDynamicObject source, out ColumnFilter filter) { filter = null; var filterList = new List<ColumnFilter>(); foreach (var filterBuilder in _filterBuilders) { ColumnFilter subfilter; if (!filterBuilder.TryGetFilter(source, out subfilter)) return false; filterList.Add(subfilter); } var itemIds = RuntimeDatabase.FindItems(_referencedProcess, filterList); if (itemIds.Count <= 0) return false; filter = new ColumnFilter(_property.Name, itemIds[0]); return true; }