public ModulePrintManager(DtoClientPrinterModule module, EnumPolicy.Trigger policyTrigger) { _moduleResult = new DtoModuleResult(); _moduleResult.Name = module.DisplayName; _moduleResult.Guid = module.Guid; _moduleResult.Success = true; _module = module; _trigger = policyTrigger; }
private void PrinterModule(EntityPolicyModules policyModule) { var clientPrinterModule = new DtoClientPrinterModule(); var printerModule = new ServicePrinterModule().GetModule(policyModule.ModuleId); clientPrinterModule.Guid = printerModule.Guid; clientPrinterModule.DisplayName = printerModule.Name; clientPrinterModule.PrinterPath = printerModule.NetworkPath; clientPrinterModule.Order = policyModule.Order; clientPrinterModule.IsDefault = printerModule.IsDefault; clientPrinterModule.RestartSpooler = printerModule.RestartSpooler; clientPrinterModule.PrinterAction = printerModule.Action; clientPrinterModule.WaitForEnumeration = printerModule.WaitForEnumeration; if (policyModule.ConditionId != -1) { var conditionScript = new ServiceScriptModule().GetModule(policyModule.ConditionId); if (conditionScript != null) { clientPrinterModule.ConditionFailedAction = policyModule.ConditionFailedAction; clientPrinterModule.ConditionNextOrder = policyModule.ConditionNextModule; clientPrinterModule.Condition = new DtoClientModuleCondition(); clientPrinterModule.Condition.Arguments = conditionScript.Arguments; clientPrinterModule.Condition.DisplayName = conditionScript.Name; clientPrinterModule.Condition.Guid = conditionScript.Guid; clientPrinterModule.Condition.RedirectError = conditionScript.RedirectStdError; clientPrinterModule.Condition.RedirectOutput = conditionScript.RedirectStdOut; if (conditionScript.ImpersonationId != -1) { var scriptImpersonationGuid = new ServiceImpersonationAccount().GetGuid(conditionScript.ImpersonationId); if (!string.IsNullOrEmpty(scriptImpersonationGuid)) { clientPrinterModule.Condition.RunAs = scriptImpersonationGuid; } } clientPrinterModule.Condition.ScriptType = conditionScript.ScriptType; foreach (var successCode in conditionScript.SuccessCodes.Split(',')) { clientPrinterModule.Condition.SuccessCodes.Add(successCode); } clientPrinterModule.Condition.Timeout = conditionScript.Timeout; clientPrinterModule.Condition.WorkingDirectory = conditionScript.WorkingDirectory; } } _clientPolicy.PrinterModules.Add(clientPrinterModule); }