private bool EnumDataFieldFilters(IAimpDataFilterGroup filter, Func <IAimpDataFieldFilter, bool> aProc) { var result = false; if (filter != null) { for (var i = 0; i < filter.GetChildCount(); i++) { IAimpDataFilterGroup group; IAimpDataFieldFilter field; if (filter.GetChild(i, out group) == AimpActionResult.Ok && group != null) { result = EnumDataFieldFilters(group, aProc); } else if (filter.GetChild(i, out field) == AimpActionResult.Ok && field != null) { result = aProc(field); } if (result) { break; } } } return(result); }
private bool EnumDataFieldFilters(IAimpDataFilterGroup filter, Func <IAimpDataFieldFilter, bool> aProc) { var result = false; if (filter != null) { for (var i = 0; i < filter.GetChildCount(); i++) { var getGroup = filter.GetFilterGroup(i); var getField = filter.GetFieldFilter(i); if (getGroup.ResultType == ActionResultType.OK && getGroup.Result != null) { result = EnumDataFieldFilters(getGroup.Result, aProc); } else if (getField.ResultType == ActionResultType.OK && getField.Result != null) { result = aProc(getField.Result); } if (result) { break; } } } return(result); }
public AimpActionResult AppendFilter(IAimpDataFilterGroup filter, IAimpGroupingTreeSelection selection) { filter.BeginUpdate(); try { filter.Operation = FilterGroupOperationType.And; for (var i = 0; i < selection.GetCount(); i++) { var selectionResult = selection.GetValue(i); if (selectionResult.ResultType == ActionResultType.OK) { string fName = selectionResult.Item1; object fValue = selectionResult.Item2; IAimpDataFieldFilter fFilter; fValue = fValue.ToString() .Replace($"MyComputer\\{DataStorageCategoryType.LocalDisks}\\", string.Empty) .Replace($"MyComputer\\{DataStorageCategoryType.Other}\\", string.Empty); var result = filter.Add(fName, fValue, null, FieldFilterOperationType.Equals); fFilter = result.Result; } } } finally { filter.EndUpdate(); } return(new AimpActionResult(ActionResultType.OK)); }
public AimpActionResult AppendFilter(IAimpDataFilterGroup filter, IAimpGroupingTreeSelection selection) { return(new AimpActionResult(ActionResultType.NotImplemented)); }