示例#1
0
        public async Task ExecuteActionAsync(UserContext userContext, JObject payload)
        {
            var settings = payload.ToObject <NoAction>();

            settings = await _variableService.ReplaceVariablesInObjectAsync(settings, userContext);

            foreach (var noAction in _noActions)
            {
                var method = noAction.GetType().GetMethod(nameof(noAction.ExecuteNoAction));
                var attr   = method.GetCustomAttributes(typeof(NoActionTokenAttribute), false);

                if (attr?.Length == 1)
                {
                    var token = (NoActionTokenAttribute)attr[0];

                    if (token.Token == settings.Address)
                    {
                        await(Task) method.Invoke(noAction, new object[] { settings.Context?.Value, userContext });
                    }
                }
            }
        }