Esempio n. 1
0
        private static Workspace InvokeGetPowerBIWorkspace(System.Management.Automation.PowerShell ps, PowerBIUserScope scope, OperationType type, Guid?id = null)
        {
            var first = 5000;
            var skip  = 0;

            while (true)
            {
                ps.Commands.Clear();
                var parameters = new Dictionary <string, object>()
                {
                    { nameof(GetPowerBIWorkspace.Scope), scope.ToString() },
                    { nameof(GetPowerBIWorkspace.First), first },
                    { nameof(GetPowerBIWorkspace.Skip), skip }
                };
                ps.AddCommand(GetPowerBIWorkspaceCmdletInfo).AddParameters(parameters);
                var results = ps.Invoke();
                if (results.Any())
                {
                    var workspace = GetWorkspaceForOperationType(results, type, id);
                    if (workspace != null)
                    {
                        ps.Commands.Clear();
                        return(workspace);
                    }
                }
                if (results.Count < first)
                {
                    break;
                }
                skip += first;
            }

            TestUtilities.AssertNoCmdletErrors(ps);
            ps.Commands.Clear();
            return(null);
        }
        public static Workspace GetFirstWorkspace(System.Management.Automation.PowerShell ps, PowerBIUserScope scope)
        {
            var results = InvokeGetPowerBIWorkspace(ps, scope);

            if (results.Any())
            {
                var workspaces = results.Select(x => (Workspace)x.BaseObject);
                return(workspaces.First());
            }

            return(null);
        }
Esempio n. 3
0
 public static Workspace GetFirstWorkspace(System.Management.Automation.PowerShell ps, PowerBIUserScope scope)
 {
     return(InvokeGetPowerBIWorkspace(ps, scope, OperationType.GetFirstWorkspace));
 }
        private static ICollection <PSObject> InvokeGetPowerBIWorkspace(System.Management.Automation.PowerShell ps, PowerBIUserScope scope)
        {
            ps.Commands.Clear();
            ps.AddCommand(GetPowerBIWorkspaceCmdletInfo).AddParameter(nameof(GetPowerBIWorkspace.Scope), scope.ToString());

            var results = ps.Invoke();

            TestUtilities.AssertNoCmdletErrors(ps);
            ps.Commands.Clear();
            return(results);
        }