コード例 #1
0
        public async Task <IActionResult> UpdateTaskStatusAsync(Guid conferenceId, long taskId,
                                                                [FromBody] UpdateTaskRequest updateTaskRequest)
        {
            _logger.LogDebug("UpdateTaskStatus");
            try
            {
                var command = new UpdateTaskCommand(conferenceId, taskId, updateTaskRequest.UpdatedBy);
                await _commandHandler.Handle(command);
            }
            catch (TaskNotFoundException ex)
            {
                _logger.LogError(ex, "Unable to find task");
                return(NotFound());
            }

            var query = new GetTasksForConferenceQuery(conferenceId);
            var tasks = await _queryHandler.Handle <GetTasksForConferenceQuery, List <Task> >(query);

            var task = tasks.SingleOrDefault(x => x.Id == taskId);

            if (task == null)
            {
                _logger.LogError("Unable to find task");
                return(NotFound());
            }
            var response = TaskToResponseMapper.MapTaskToResponse(task);

            return(Ok(response));
        }
コード例 #2
0
        protected override async Task PublishStatusAsync(CallbackEvent callbackEvent)
        {
            var query = new GetTasksForConferenceQuery(SourceConference.Id);
            var tasks = await QueryHandler.Handle <GetTasksForConferenceQuery, List <Domain.Task> >(query);

            var task = tasks.SingleOrDefault(x => x.Type == TaskType.Participant && x.OriginId == SourceParticipant.Id && x.Status != TaskStatus.ToDo);

            if (task == null)
            {
                var command = new AddTaskCommand(SourceConference.Id, SourceParticipant.Id, "Media blocked", TaskType.Participant);

                await CommandHandler.Handle(command);
            }
        }
コード例 #3
0
        public async Task <IActionResult> GetTasksForConferenceAsync(Guid conferenceId)
        {
            _logger.LogDebug("GetTasksForConference");
            var query = new GetTasksForConferenceQuery(conferenceId);

            try
            {
                var tasks = await _queryHandler.Handle <GetTasksForConferenceQuery, List <Task> >(query);

                var response = tasks.Select(TaskToResponseMapper.MapTaskToResponse);
                return(Ok(response));
            }
            catch (Exception e)
            {
                _logger.LogError(e, "Unable to find tasks");
                return(BadRequest());
            }
        }
        public async System.Threading.Tasks.Task Should_retrieve_all_alerts()
        {
            var conference = new ConferenceBuilder(true)
                             .WithParticipant(UserRole.Individual, "Applicant")
                             .WithParticipant(UserRole.Judge, "Judge")
                             .Build();

            var seededConference = await TestDataManager.SeedConference(conference);

            _newConferenceId = seededConference.Id;

            var alerts = InitTasks(conference);
            await TestDataManager.SeedAlerts(alerts);

            var query   = new GetTasksForConferenceQuery(_newConferenceId);
            var results = await _handler.Handle(query);

            results.Count.Should().Be(alerts.Count);
            results.Should().BeInDescendingOrder(x => x.Created);
        }