PSTestLib.PSCmdletBase.runTwoScriptBlockCollections C# (CSharp) Method

runTwoScriptBlockCollections() protected method

protected runTwoScriptBlockCollections ( ScriptBlock scriptblocksSet1, ScriptBlock scriptblocksSet2, PSCmdletBase cmdlet, object parameters ) : void
scriptblocksSet1 ScriptBlock
scriptblocksSet2 ScriptBlock
cmdlet PSCmdletBase
parameters object
return void
        protected internal void runTwoScriptBlockCollections(
            ScriptBlock[] scriptblocksSet1,
            ScriptBlock[] scriptblocksSet2,
            PSCmdletBase cmdlet,
            object[] parameters)
        {
            
            cmdlet.WriteVerbose(cmdlet, "preparing scriptblocks");
            
            var scriptblocks = new List<ScriptBlock>();

            try {
                if (scriptblocksSet1 != null && scriptblocksSet1.Length > 0)
                    foreach (var sb in scriptblocksSet1)
                        scriptblocks.Add(sb);
    
                if (scriptblocksSet2 != null && scriptblocksSet2.Length > 0)
                    foreach (var sb in scriptblocksSet2)
                        scriptblocks.Add(sb);
                
//                if (null == scriptblocks || 0 == scriptblocks.Count) {
//                    
//                    cmdlet.WriteVerbose(cmdlet, "there is no any StopAction scriptblock");
//                    
//                    //throw new Exception("There are no StopAction scriptblocks, define at least one");
//                    cmdlet.WriteError(
//                        cmdlet,
//                        "There are no StopAction scriptblocks, define at least one",
//                        "NoStopActionScriptblocks",
//                        ErrorCategory.InvalidArgument,
//                        true);
//                }
                
//                cmdlet.WriteVerbose(cmdlet, "scriptblocks were prepared");
            }
            catch (Exception eScriptblocksPreparation) {
                
//                cmdlet.WriteVerbose(cmdlet, "Scriptblocks are not going to be run");
//                
//                cmdlet.WriteVerbose(cmdlet, eScriptblocksPreparation.Message);
                
                cmdlet.WriteError(
                    cmdlet,
                    eScriptblocksPreparation.Message,
                    "ScriptblocksNotPrepared",
                    ErrorCategory.InvalidOperation,
                    true);
            }

            //runScriptBlocks(scriptblocks, cmdlet, false);
            try {
                
//                cmdlet.WriteVerbose(cmdlet, "running scriptblocks");
                
                //runScriptBlocks(scriptblocks, cmdlet, false, parameters);
                if (null != scriptblocks && 0 < scriptblocks.Count)
                    runScriptBlocks(scriptblocks, cmdlet, false, parameters);
                
//                cmdlet.WriteVerbose(cmdlet, "Scriptblocks finished successfully");
            }
            catch (Exception eScriptBlocks) {
                
//                cmdlet.WriteVerbose(cmdlet, "Scriptblocks failed");
//                
//                cmdlet.WriteVerbose(cmdlet, eScriptBlocks.Message);
                
                cmdlet.WriteError(
                    cmdlet,
                    eScriptBlocks.Message,
                    "ScriptblocksFailed",
                    ErrorCategory.InvalidResult,
                    true);
            }
        }