private bool CheckCondition(DtoClientModuleCondition condition) { _conditionNextOrder = null; if (condition.Guid == null) { //no condition Logger.Debug($"No Conditions Found For Module"); return(true); } //treat condition as script module var conditionJson = JsonConvert.SerializeObject(condition); var scriptModule = JsonConvert.DeserializeObject <DtoClientScriptModule>(conditionJson); var conditionResult = new ModuleScriptManager(scriptModule).Run(); if (conditionResult.Success) { if (conditionResult.ScriptOutput != null) { _policyResult.ScriptOutputs.Add(conditionResult.ScriptOutput); } Logger.Debug($"Condition Evaluation Completed Successfully"); return(true); } Logger.Debug("Condition Evaluation Was Not Satisfied"); return(false); }
public DtoClientPolicy() { CommandModules = new List <DtoClientCommandModule>(); FileCopyModules = new List <DtoClientFileCopyModule>(); PrinterModules = new List <DtoClientPrinterModule>(); ScriptModules = new List <DtoClientScriptModule>(); SoftwareModules = new List <DtoClientSoftwareModule>(); WuModules = new List <DtoClientWuModule>(); MessageModules = new List <DtoClientMessageModule>(); Condition = new DtoClientModuleCondition(); }
private bool CacheCondition(DtoClientModuleCondition condition) { if (condition.Guid == null) { //no condition return(true); } //treat condition as script module var conditionJson = JsonConvert.SerializeObject(condition); var scriptModule = JsonConvert.DeserializeObject <DtoClientScriptModule>(conditionJson); var moduleResult = new DtoModuleResult(); moduleResult.Success = true; moduleResult.Name = scriptModule.DisplayName; moduleResult.Guid = scriptModule.Guid; if (!CreateDirectory(scriptModule.Guid)) { moduleResult.ErrorMessage = "Could Not Create Cache Directory"; if (IsStopError(moduleResult)) { return(false); } } if (!DownloadScriptFile(scriptModule)) { moduleResult.ErrorMessage = "Could Not Download Script"; if (IsStopError(moduleResult)) { return(false); } } return(true); }