UIAutomation.WizardHelper.PrepareStepDirections C# (CSharp) Method

PrepareStepDirections() static private method

static private PrepareStepDirections ( WizardRunCmdletBase cmdlet, Wizard wzd ) : void
cmdlet WizardRunCmdletBase
wzd Wizard
return void
        internal static void PrepareStepDirections(WizardRunCmdletBase cmdlet, Wizard wzd)
        {
            foreach (Dictionary<string, object> dictDirections in cmdlet.DirectionsDictionaries) {
                WizardStep stepWithDirections = null;
                string stepWithDirectionsName = string.Empty;
                try {
                    
                    stepWithDirectionsName = dictDirections["STEP"].ToString();
                    
                    if ("0" == stepWithDirectionsName) {
                        //
                    } else {
                    
                        stepWithDirections = wzd.GetStep(stepWithDirectionsName);
                        
                        if (null == stepWithDirections) {
                            cmdlet.WriteError(
                                cmdlet,
                                "Failed to get a step with name '" +
                                stepWithDirectionsName +
                                "' in the Directions hashtable.",
                                "FailedToGetStep",
                                ErrorCategory.InvalidArgument,
                                true);
                        }
                    }
                    
                    try {
                        switch (dictDirections["ACTION"].ToString().ToUpper()) {
                            case "FORWARD":
                                stepWithDirections.ToDo = WizardStepActions.Forward;
                                break;
                            case "BACKWARD":
                                stepWithDirections.ToDo = WizardStepActions.Backward;
                                break;
                            case "CANCEL":
                                stepWithDirections.ToDo = WizardStepActions.Cancel;
                                break;
                            case "STOP":
                                stepWithDirections.ToDo = WizardStepActions.Stop;
                                break;
                            default:
                                throw new Exception("Invalid value for directions");
                                //stepWithDirections.ToDo = WizardStepActions.Forward;
                                //break;
                        }
                        
                    } catch (Exception eActionType) {
                        
                        cmdlet.WriteVerbose(
                            cmdlet,
                            "The action parameter: " +
                            eActionType.Message);
                    }
                } catch (Exception eDirectionsDictionaries) {
                    cmdlet.WriteError(
                        cmdlet,
                        "Failed to parse directions for step '" +
                        stepWithDirectionsName +
                        "'. " +
                        eDirectionsDictionaries.Message,
                        "FailedToParseDirections",
                        ErrorCategory.InvalidArgument,
                        true);
                }
            }
        }