示例#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
        public void Should_map_all_properties()
        {
            var alert = Builder <Task> .CreateNew()
                        .WithFactory(() => new Task(Guid.NewGuid(), Guid.NewGuid(), "Automated Test", TaskType.Hearing))
                        .Build();

            var response = TaskToResponseMapper.MapTaskToResponse(alert);

            response.Should().BeEquivalentTo(alert, options => options
                                             .Excluding(x => x.Status)
                                             .Excluding(x => x.Created)
                                             .Excluding(x => x.Updated)
                                             .Excluding(x => x.UpdatedBy)
                                             .Excluding(x => x.ConferenceId)
                                             );
        }