public MessageModuleController() { _messageModuleServices = new ServiceMessageModule(); _auditLogService = new ServiceAuditLog(); _userId = Convert.ToInt32(((ClaimsIdentity)User.Identity).Claims.Where(c => c.Type == "user_id") .Select(c => c.Value).SingleOrDefault()); }
private string VerifyMessage(EntityPolicyModules policyModule) { var messageModule = new ServiceMessageModule().GetModule(policyModule.ModuleId); if (string.IsNullOrEmpty(messageModule.Name)) { return("A Message Module Has An Invalid Name"); } if (messageModule.Archived) { return("Message Module: " + messageModule.Name + " Is Archived"); } if (string.IsNullOrEmpty(messageModule.Guid)) { return("Message Module: " + messageModule.Name + " Has An Invalid GUID"); } if (string.IsNullOrEmpty(messageModule.Title)) { return("Message Module: " + messageModule.Name + " Has An Invalid Title"); } if (string.IsNullOrEmpty(messageModule.Message)) { return("Message Module: " + messageModule.Name + " Has An Invalid Message"); } int value; if (!int.TryParse(policyModule.Order.ToString(), out value)) { return("Message Module: " + messageModule.Name + " Has An Invalid Order"); } int tValue; if (!int.TryParse(messageModule.Timeout.ToString(), out tValue)) { return("Message Module: " + messageModule.Name + " Has An Invalid Timeout"); } return(null); }
private void MessageModule(EntityPolicyModules policyModule) { var clientMessageModule = new DtoClientMessageModule(); var messageModule = new ServiceMessageModule().GetModule(policyModule.ModuleId); clientMessageModule.Guid = messageModule.Guid; clientMessageModule.DisplayName = messageModule.Name; clientMessageModule.Order = policyModule.Order; clientMessageModule.Title = messageModule.Title; clientMessageModule.Message = messageModule.Message; clientMessageModule.Timeout = messageModule.Timeout; if (policyModule.ConditionId != -1) { var conditionScript = new ServiceScriptModule().GetModule(policyModule.ConditionId); if (conditionScript != null) { clientMessageModule.ConditionFailedAction = policyModule.ConditionFailedAction; clientMessageModule.ConditionNextOrder = policyModule.ConditionNextModule; clientMessageModule.Condition = new DtoClientModuleCondition(); clientMessageModule.Condition.Arguments = conditionScript.Arguments; clientMessageModule.Condition.DisplayName = conditionScript.Name; clientMessageModule.Condition.Guid = conditionScript.Guid; clientMessageModule.Condition.RedirectError = conditionScript.RedirectStdError; clientMessageModule.Condition.RedirectOutput = conditionScript.RedirectStdOut; if (conditionScript.ImpersonationId != -1) { var scriptImpersonationGuid = new ServiceImpersonationAccount().GetGuid(conditionScript.ImpersonationId); if (!string.IsNullOrEmpty(scriptImpersonationGuid)) { clientMessageModule.Condition.RunAs = scriptImpersonationGuid; } } clientMessageModule.Condition.ScriptType = conditionScript.ScriptType; foreach (var successCode in conditionScript.SuccessCodes.Split(',')) { clientMessageModule.Condition.SuccessCodes.Add(successCode); } clientMessageModule.Condition.Timeout = conditionScript.Timeout; clientMessageModule.Condition.WorkingDirectory = conditionScript.WorkingDirectory; } } _clientPolicy.MessageModules.Add(clientMessageModule); }
private void CopyMessageModule(EntityPolicyModules policyModule) { var messageModuleExport = new DtoMessageModuleExport(); var messageModule = new ServiceMessageModule().GetModule(policyModule.ModuleId); messageModuleExport.Description = messageModule.Description; messageModuleExport.DisplayName = messageModule.Name; messageModuleExport.Order = policyModule.Order; messageModuleExport.Timeout = messageModule.Timeout; messageModuleExport.Guid = messageModule.Guid; messageModuleExport.Title = messageModule.Title; messageModuleExport.Message = messageModule.Message; messageModuleExport.ConditionFailedAction = policyModule.ConditionFailedAction; messageModuleExport.ConditionNextOrder = policyModule.ConditionNextModule; if (policyModule.ConditionId != -1) { messageModuleExport.Condition = GetCondition(policyModule.ConditionId); } _policyExport.MessageModules.Add(messageModuleExport); }
public DtoActionResult Restore(int moduleId, EnumModule.ModuleType moduleType) { var result = _moduleServices.RestoreModule(moduleId, moduleType); if (result == null) { throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.NotFound)); } if (result.Success) { var auditLog = new EntityAuditLog(); switch (moduleType) { case EnumModule.ModuleType.Command: var cModule = new ServiceCommandModule().GetModule(moduleId); auditLog.ObjectName = cModule.Name; auditLog.ObjectJson = JsonConvert.SerializeObject(cModule); break; case EnumModule.ModuleType.FileCopy: var fModule = new ServiceFileCopyModule().GetModule(moduleId); auditLog.ObjectName = fModule.Name; auditLog.ObjectJson = JsonConvert.SerializeObject(fModule); break; case EnumModule.ModuleType.Printer: var pModule = new ServicePrinterModule().GetModule(moduleId); auditLog.ObjectName = pModule.Name; auditLog.ObjectJson = JsonConvert.SerializeObject(pModule); break; case EnumModule.ModuleType.Script: var scModule = new ServiceScriptModule().GetModule(moduleId); auditLog.ObjectName = scModule.Name; auditLog.ObjectJson = JsonConvert.SerializeObject(scModule); break; case EnumModule.ModuleType.Software: var sModule = new ServiceSoftwareModule().GetModule(moduleId); auditLog.ObjectName = sModule.Name; auditLog.ObjectJson = JsonConvert.SerializeObject(sModule); break; case EnumModule.ModuleType.Wupdate: var uModule = new ServiceWuModule().GetModule(moduleId); auditLog.ObjectName = uModule.Name; auditLog.ObjectJson = JsonConvert.SerializeObject(uModule); break; case EnumModule.ModuleType.Message: var messageModule = new ServiceMessageModule().GetModule(moduleId); auditLog.ObjectName = messageModule.Name; auditLog.ObjectJson = JsonConvert.SerializeObject(messageModule); break; } auditLog.ObjectType = moduleType.ToString(); auditLog.ObjectId = result.Id; auditLog.UserId = _userId; auditLog.AuditType = EnumAuditEntry.AuditType.Restore; _auditLogService.AddAuditLog(auditLog); } return(result); }
private DtoActionResult CreateMessages() { foreach (var messageModule in _export.MessageModules) { if (_export.Instructions.Contains("[generate-module-guid]")) { messageModule.Guid = Guid.NewGuid().ToString(); } if (_uow.MessageModuleRepository.Exists(h => h.Guid.Equals(messageModule.Guid))) { return(new DtoActionResult() { ErrorMessage = "A Message Module With This Guid Already Exists. " + messageModule.Guid }); } var message = new EntityMessageModule(); message.Name = messageModule.DisplayName; message.Description = "Added Via Policy Template " + _export.Name + " On " + DateTime.Now + "\r\n" + messageModule.Description; message.Guid = messageModule.Guid; message.Title = messageModule.Title; message.Message = messageModule.Message; message.Timeout = messageModule.Timeout; if (_uow.MessageModuleRepository.Exists(h => h.Name.Equals(message.Name))) { for (var c = 1; c <= 100; c++) { if (c == 100) { return new DtoActionResult() { ErrorMessage = "Could Not Determine A Message Name" } } ; var newName = message.Name + "_" + c; if (!_uow.MessageModuleRepository.Exists(h => h.Name == newName)) { message.Name = newName; break; } } } var addResult = new ServiceMessageModule().AddModule(message); if (!addResult.Success) { return(addResult); } var policyModule = new EntityPolicyModules(); policyModule.Guid = message.Guid; policyModule.ModuleId = addResult.Id; policyModule.ModuleType = EnumModule.ModuleType.Message; policyModule.Name = message.Name; policyModule.Order = messageModule.Order; policyModule.PolicyId = _policy.Id; policyModule.ConditionFailedAction = messageModule.ConditionFailedAction; policyModule.ConditionNextModule = messageModule.ConditionNextOrder; var conditionId = CreateCondition(messageModule.Condition); if (conditionId != 0) { policyModule.ConditionId = conditionId; } else { policyModule.ConditionId = -1; } _uow.PolicyModulesRepository.Insert(policyModule); } return(new DtoActionResult() { Success = true }); }