Beispiel #1
0
        public async Task <List <TaskSyncDto> > BizActionAsync(int inputData)
        {
            var tasks = new List <TaskSyncDto>();

            foreach (var taskInfo in _mazeTaskManager.ClientTasks)
            {
                var filters = new AggregatedClientFilter(_services.GetRequiredService <ILogger <AggregatedClientFilter> >());

                filters.Add(new AudienceFilter(taskInfo.MazeTask.Audience));
                foreach (var filterInfo in taskInfo.MazeTask.Filters)
                {
                    var filterType = typeof(IFilterService <>).MakeGenericType(filterInfo.GetType());
                    filters.Add(new CustomFilterFactory(filterType, filterInfo, _services.GetRequiredService <ILogger <CustomFilterFactory> >()));
                }

                if (!await filters.IsClientIncluded(inputData, _services))
                {
                    continue;
                }

                tasks.Add(new TaskSyncDto {
                    TaskId = taskInfo.MazeTask.Id, Hash = taskInfo.Hash.ToString()
                });
            }

            return(tasks);
        }
Beispiel #2
0
 public TaskTriggerContext(MazeTaskService taskService, string sourceTrigger, AggregatedClientFilter aggregatedClientFilter,
                           ITaskResultStorage taskResultStorage)
 {
     _taskService            = taskService;
     _sourceTrigger          = sourceTrigger;
     _aggregatedClientFilter = aggregatedClientFilter;
     _taskResultStorage      = taskResultStorage;
 }