public AimpActionResult <IAimpGroupingTreeDataProviderSelection> GetData(IAimpGroupingTreeSelection selection) { IAimpGroupingTreeDataProviderSelection data = null; var valueResult = selection.GetValue(0); if (valueResult.ResultType == ActionResultType.OK) { try { object outValue = valueResult.Item2; if (!string.IsNullOrWhiteSpace(outValue?.ToString())) { var pathParts = outValue.ToString().Split(new[] { "\\" }, StringSplitOptions.RemoveEmptyEntries); var category = (DataStorageCategoryType)Enum.Parse(typeof(DataStorageCategoryType), pathParts[1]); data = new DataProviderGroupingTreeSelection(_dataProviders[category](outValue.ToString())); return(new AimpActionResult <IAimpGroupingTreeDataProviderSelection>(ActionResultType.OK, data)); } } catch (Exception) { return(new AimpActionResult <IAimpGroupingTreeDataProviderSelection>(ActionResultType.Fail, null)); } } data = new DataProviderGroupingTreeSelection(PopulateRoot()); return(new AimpActionResult <IAimpGroupingTreeDataProviderSelection>(ActionResultType.OK, data)); }
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 <IAimpGroupingTreeDataProviderSelection> GetData(IAimpGroupingTreeSelection selection) { IAimpGroupingTreeDataProviderSelection data = null; var count = selection.GetCount(); if (count > 0) { var r = selection.GetValue(0); if (r.ResultType == ActionResultType.OK) { return(new AimpActionResult <IAimpGroupingTreeDataProviderSelection>(ActionResultType.OK, data)); } } data = new CustomAimpGroupingTreeDataProviderSelection(); return(new AimpActionResult <IAimpGroupingTreeDataProviderSelection>(ActionResultType.OK, data)); }
public AimpActionResult AppendFilter(IAimpDataFilterGroup filter, IAimpGroupingTreeSelection selection) { return(new AimpActionResult(ActionResultType.NotImplemented)); }