public GeneratorActionResult RollbackAction(GeneratorArguments arguments, ActionInputValues values, Dictionary<string, string> parameters)
        {
            var location = values.GetString("DestinationFolder");

            if (Directory.Exists(location))
                Directory.Delete(location, true);

            return new GeneratorActionResult(true, "");
        }
        public GeneratorActionResult RollbackAction(GeneratorArguments arguments, ActionInputValues values, Dictionary <string, string> parameters)
        {
            var location = values.GetString("DestinationFolder");

            if (Directory.Exists(location))
            {
                Directory.Delete(location, true);
            }

            return(new GeneratorActionResult(true, ""));
        }
        public GeneratorActionResult ExecuteAction(GeneratorArguments arguments, ActionInputValues values, Dictionary<string, string> parameters)
        {
            var location = values.GetString("DestinationFolder");

            if (Directory.Exists(location))
            {
                if (Directory.GetFiles(location).Length > 0 | Directory.GetDirectories(location).Length > 0)
                {
                    return new GeneratorActionResult(false, "Directory already exists and is not empty!");
                }
            }
            else
                Directory.CreateDirectory(location);

            return new GeneratorActionResult(true, "");
        }
        public GeneratorActionResult ExecuteAction(GeneratorArguments arguments, ActionInputValues values, Dictionary <string, string> parameters)
        {
            var location = values.GetString("DestinationFolder");

            if (Directory.Exists(location))
            {
                if (Directory.GetFiles(location).Length > 0 | Directory.GetDirectories(location).Length > 0)
                {
                    return(new GeneratorActionResult(false, "Directory already exists and is not empty!"));
                }
            }
            else
            {
                Directory.CreateDirectory(location);
            }

            return(new GeneratorActionResult(true, ""));
        }
        /// <summary>
        /// Gets all the input control with their values.
        /// </summary>
        public ActionInputValues GetInputValues()
        {
            var actionInputValues = new ActionInputValues();

            foreach (var inputControl in GetInputControls())
            {
                var values = inputControl.GetInputValues();
                if (values.Any())
                {
                    foreach (var value in values)
                    {
                        if (!actionInputValues.ContainsKey(value.Key))
                            actionInputValues.Add(value.Key, value.Value);
                    }
                }
            }

            return actionInputValues;
        }