示例#1
0
文件: Modules.cs 项目: cocoon/Toems
        protected override void OnInit(EventArgs e)
        {
            base.OnInit(e);
            RequiresAuthorization(AuthorizationStrings.ModuleRead);
            PrinterModule = !string.IsNullOrEmpty(Request["printerModuleId"])
               ? Call.PrinterModuleApi.Get(Convert.ToInt32(Request.QueryString["printerModuleId"]))
               : null;

            SoftwareModule = !string.IsNullOrEmpty(Request["softwareModuleId"])
               ? Call.SoftwareModuleApi.Get(Convert.ToInt32(Request.QueryString["softwareModuleId"]))
               : null;

            CommandModule = !string.IsNullOrEmpty(Request["commandModuleId"])
              ? Call.CommandModuleApi.Get(Convert.ToInt32(Request.QueryString["commandModuleId"]))
              : null;

            FileCopyModule = !string.IsNullOrEmpty(Request["fileCopyModuleId"])
              ? Call.FileCopyModuleApi.Get(Convert.ToInt32(Request.QueryString["fileCopyModuleId"]))
              : null;

            ScriptModule = !string.IsNullOrEmpty(Request["scriptModuleId"])
              ? Call.ScriptModuleApi.Get(Convert.ToInt32(Request.QueryString["scriptModuleId"]))
              : null;

            WuModule = !string.IsNullOrEmpty(Request["wuModuleId"])
                ? Call.WuModuleApi.Get(Convert.ToInt32(Request.QueryString["wuModuleId"]))
                : null;
            MessageModule = !string.IsNullOrEmpty(Request["messageModuleId"])
               ? Call.MessageModuleApi.Get(Convert.ToInt32(Request.QueryString["messageModuleId"]))
               : null;
        }
示例#2
0
        public DtoActionResult Post(EntityMessageModule module)
        {
            var result = _messageModuleServices.AddModule(module);

            if (result.Success)
            {
                var auditLog = new EntityAuditLog();
                auditLog.ObjectType = "MessageModule";
                auditLog.ObjectId   = result.Id;
                auditLog.ObjectName = module.Name;
                auditLog.ObjectJson = JsonConvert.SerializeObject(module);
                auditLog.UserId     = _userId;
                auditLog.AuditType  = EnumAuditEntry.AuditType.Create;
                _auditLogService.AddAuditLog(auditLog);
            }
            return(result);
        }
示例#3
0
        public DtoActionResult Put(int id, EntityMessageModule module)
        {
            module.Id = id;
            var result = _messageModuleServices.UpdateModule(module);

            if (result == null)
            {
                throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.NotFound));
            }
            if (result.Success)
            {
                var auditLog = new EntityAuditLog();
                auditLog.ObjectType = "MessageModule";
                auditLog.ObjectId   = result.Id;
                auditLog.ObjectName = module.Name;
                auditLog.ObjectJson = JsonConvert.SerializeObject(module);
                auditLog.UserId     = _userId;
                auditLog.AuditType  = EnumAuditEntry.AuditType.Update;
                _auditLogService.AddAuditLog(auditLog);
            }
            return(result);
        }
示例#4
0
        public DtoActionResult UpdateModule(EntityMessageModule module)
        {
            var u = GetModule(module.Id);

            if (u == null)
            {
                return new DtoActionResult {
                           ErrorMessage = "Module Not Found", Id = 0
                }
            }
            ;
            var isActiveModule = new ServiceModule().IsModuleActive(module.Id, EnumModule.ModuleType.Message);

            if (!string.IsNullOrEmpty(isActiveModule))
            {
                return new DtoActionResult()
                       {
                           ErrorMessage = isActiveModule, Id = 0
                       }
            }
            ;
            var validationResult = ValidateModule(module, false);
            var actionResult     = new DtoActionResult();

            if (validationResult.Success)
            {
                _uow.MessageModuleRepository.Update(module, module.Id);

                _uow.Save();
                actionResult.Success = true;
                actionResult.Id      = module.Id;
            }
            else
            {
                actionResult.ErrorMessage = validationResult.ErrorMessage;
            }

            return(actionResult);
        }
示例#5
0
        private DtoValidationResult ValidateModule(EntityMessageModule module, bool isNew)
        {
            var validationResult = new DtoValidationResult {
                Success = true
            };

            if (string.IsNullOrEmpty(module.Name) || !module.Name.All(c => char.IsLetterOrDigit(c) || c == '_' || c == '-' || c == ' ' || c == '.'))
            {
                validationResult.Success      = false;
                validationResult.ErrorMessage = "Module Name Is Not Valid";
                return(validationResult);
            }

            if (isNew)
            {
                if (_uow.MessageModuleRepository.Exists(h => h.Name == module.Name))
                {
                    validationResult.Success      = false;
                    validationResult.ErrorMessage = "A Module With This Name Already Exists";
                    return(validationResult);
                }
            }
            else
            {
                var originalModule = _uow.MessageModuleRepository.GetById(module.Id);
                if (originalModule.Name != module.Name)
                {
                    if (_uow.MessageModuleRepository.Exists(h => h.Name == module.Name))
                    {
                        validationResult.Success      = false;
                        validationResult.ErrorMessage = "A Module With This Name Already Exists";
                        return(validationResult);
                    }
                }
            }

            return(validationResult);
        }
示例#6
0
        public DtoActionResult AddModule(EntityMessageModule module)
        {
            var validationResult = ValidateModule(module, true);
            var actionResult     = new DtoActionResult();

            if (validationResult.Success)
            {
                var moduleType = new EntityModule();
                moduleType.ModuleType = EnumModule.ModuleType.Message;
                moduleType.Guid       = module.Guid;
                _uow.ModuleRepository.Insert(moduleType);
                _uow.Save();
                _uow.MessageModuleRepository.Insert(module);
                _uow.Save();
                actionResult.Success = true;
                actionResult.Id      = module.Id;
            }
            else
            {
                actionResult.ErrorMessage = validationResult.ErrorMessage;
            }

            return(actionResult);
        }
示例#7
0
        protected void btnAdd_OnClick(object sender, EventArgs e)
        {
            var module = new EntityMessageModule()
            {
                Name        = txtDisplayName.Text,
                Description = txtDescription.Text,
                Title       = txtTitle.Text,
                Message     = txtMessage.Text,
                Timeout     = Convert.ToInt32(txtTimeout.Text),
            };


            var result = Call.MessageModuleApi.Post(module);

            if (!result.Success)
            {
                EndUserMessage = result.ErrorMessage;
            }
            else
            {
                EndUserMessage = "Successfully Created Message Module";
                Response.Redirect("~/views/modules/messagemodules/general.aspx?messageModuleId=" + result.Id);
            }
        }
示例#8
0
        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
            });
        }