Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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));
        }
Ejemplo n.º 4
0
 public AimpActionResult AppendFilter(IAimpDataFilterGroup filter, IAimpGroupingTreeSelection selection)
 {
     return(new AimpActionResult(ActionResultType.NotImplemented));
 }