Exemple #1
0
        private DtoScriptModuleExport GetCondition(int conditionScriptId)
        {
            var condition = new ServiceScriptModule().GetModule(conditionScriptId);

            if (condition == null)
            {
                return(null);
            }

            var scriptModuleExport = new DtoScriptModuleExport();

            scriptModuleExport.ScriptContents   = condition.ScriptContents;
            scriptModuleExport.Description      = condition.Description;
            scriptModuleExport.DisplayName      = condition.Name;
            scriptModuleExport.Arguments        = condition.Arguments;
            scriptModuleExport.Timeout          = condition.Timeout;
            scriptModuleExport.ScriptType       = condition.ScriptType;
            scriptModuleExport.RedirectOutput   = condition.RedirectStdOut;
            scriptModuleExport.RedirectError    = condition.RedirectStdError;
            scriptModuleExport.AddToInventory   = condition.AddInventoryCollection;
            scriptModuleExport.WorkingDirectory = condition.WorkingDirectory;
            scriptModuleExport.IsCondition      = condition.IsCondition;
            scriptModuleExport.SuccessCodes     = condition.SuccessCodes;
            scriptModuleExport.Guid             = condition.Guid;

            return(scriptModuleExport);
        }
Exemple #2
0
        private void CopyScriptModule(EntityPolicyModules policyModule)
        {
            var scriptModuleExport = new DtoScriptModuleExport();
            var scriptModule       = new ServiceScriptModule().GetModule(policyModule.ModuleId);

            scriptModuleExport.ScriptContents        = scriptModule.ScriptContents;
            scriptModuleExport.Description           = scriptModule.Description;
            scriptModuleExport.DisplayName           = scriptModule.Name;
            scriptModuleExport.Arguments             = scriptModule.Arguments;
            scriptModuleExport.Order                 = policyModule.Order;
            scriptModuleExport.Timeout               = scriptModule.Timeout;
            scriptModuleExport.ScriptType            = scriptModule.ScriptType;
            scriptModuleExport.RedirectOutput        = scriptModule.RedirectStdOut;
            scriptModuleExport.RedirectError         = scriptModule.RedirectStdError;
            scriptModuleExport.AddToInventory        = scriptModule.AddInventoryCollection;
            scriptModuleExport.WorkingDirectory      = scriptModule.WorkingDirectory;
            scriptModuleExport.IsCondition           = scriptModule.IsCondition;
            scriptModuleExport.SuccessCodes          = scriptModule.SuccessCodes;
            scriptModuleExport.Guid                  = scriptModule.Guid;
            scriptModuleExport.ConditionFailedAction = policyModule.ConditionFailedAction;
            scriptModuleExport.ConditionNextOrder    = policyModule.ConditionNextModule;

            if (policyModule.ConditionId != -1)
            {
                scriptModuleExport.Condition = GetCondition(policyModule.ConditionId);
            }

            _policyExport.ScriptModules.Add(scriptModuleExport);
        }
Exemple #3
0
        private int CreateCondition(DtoScriptModuleExport condition)
        {
            if (condition == null)
            {
                return(0);
            }

            var scriptModule = new ServiceScriptModule().GetModuleByGuid(condition.Guid);

            if (scriptModule == null)
            {
                var script = new EntityScriptModule();
                script.AddInventoryCollection = condition.AddToInventory;
                script.Name        = condition.DisplayName;
                script.Description = "Added Via Policy Template " + _export.Name + "  On " + DateTime.Now +
                                     "\r\n" + script.Description;
                script.Guid             = condition.Guid;
                script.Arguments        = condition.Arguments;
                script.IsCondition      = condition.IsCondition;
                script.RedirectStdError = condition.RedirectError;
                script.RedirectStdOut   = condition.RedirectOutput;
                script.ScriptContents   = condition.ScriptContents;
                script.ScriptType       = condition.ScriptType;
                script.SuccessCodes     = condition.SuccessCodes;
                script.Timeout          = condition.Timeout;
                script.WorkingDirectory = condition.WorkingDirectory;
                script.ImpersonationId  = -1;

                if (_uow.ScriptModuleRepository.Exists(h => h.Name.Equals(script.Name)))
                {
                    for (var c = 1; c <= 100; c++)
                    {
                        if (c == 100)
                        {
                            return(0);
                        }

                        var newName = script.Name + "_" + c;
                        if (!_uow.ScriptModuleRepository.Exists(h => h.Name == newName))
                        {
                            script.Name = newName;
                            break;
                        }
                    }
                }

                var addResult = new ServiceScriptModule().AddModule(script);
                if (!addResult.Success)
                {
                    return(0);
                }
                return(script.Id);
            }
            else
            {
                return(scriptModule.Id);
            }
        }