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); }
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); }
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); } }