public async Task <bool> Handle(UpdateTaskStatusCommand request, CancellationToken cancellationToken) { var task = _TaskRepository.GetById(request.Id).Result.ToDomain <Task>(_Mapper); task.SetStatus(request.Status); var taskModel = task.ToModel <Command.Task>(_Mapper); await _TaskRepository.Update(taskModel); await _UnitOfWork.Commit(); var busMessage = new Message(); busMessage.MessageType = "AddUpdateTaskProject"; busMessage.SetData(new { Project = task.Project.ToQueryModel <ProjectQuery.Project>(_Mapper), Task = task.ToQueryModel <Query.Task>(_Mapper) }); await _Bus.SendMessage(busMessage); return(true); }
private async Task UpdateStatus(IMediator mediator, TaskModel task, string resultId, Domain.Enums.TaskStatus status, string message) { var command = new UpdateTaskStatusCommand() { Id = task.Id, ResultId = resultId, Status = status, Message = message }; await mediator.Send(command); }
public void TaskCommandHandler_Handle_UpdateTaskStatusCommand_AddInvalidStatusValidTask_ThrowException() { IRequestHandler <UpdateTaskStatusCommand, bool> handler = GetCommandHandlerInstance(); var command = new UpdateTaskStatusCommand() { Id = WindowsTaskId, Status = (CrossCutting.TaskStatusEnum) 7 }; Action result = () => handler.Handle(command, default).Wait(); result.Should().Throw <ValidationException>(); }
public void TaskCommandHandler_Handle_UpdateTaskStatusCommand_AddValidStatusInvalidTask_ThrowException() { IRequestHandler <UpdateTaskStatusCommand, bool> handler = GetCommandHandlerInstance(); var command = new UpdateTaskStatusCommand() { Id = Guid.NewGuid(), Status = CrossCutting.TaskStatusEnum.DONE }; Action result = () => handler.Handle(command, default).Wait(); result.Should().Throw <ElementNotFoundException>(); }
public void TaskCommandHandler_Handle_UpdateTaskStatusCommand_AddValidStatus() { IRequestHandler <UpdateTaskStatusCommand, bool> handler = GetCommandHandlerInstance(); var command = new UpdateTaskStatusCommand() { Id = FacebookTaskId, Status = CrossCutting.TaskStatusEnum.DONE }; var result = handler.Handle(command, default).Result; result.Should().BeTrue(); }
public async Task <IActionResult> UpdateTaskStatus(Guid id, UpdateTaskStatusCommand command) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } try { var result = await _taskService.UpdateTaskStatusCommandHandler(command); return(Ok(result)); } catch (NotFoundException <Guid> ) { return(NotFound()); } }
public async Task <UpdateTaskStatusCommandResult> UpdateTaskStatus(UpdateTaskStatusCommand command) { return(await _httpClient.PutJsonAsync <UpdateTaskStatusCommandResult>($"tasks/{command.Id}", command)); }
public async Task <UpdateTaskStatusCommandResult> UpdateTaskStatusCommandHandler(UpdateTaskStatusCommand command) { var isSucceed = true; var task = await _taskRepository.ByIdAsync(command.Id); _mapper.Map <UpdateTaskStatusCommand, Tasks>(command, task); var affectedRecordsCount = await _taskRepository.UpdateRecordAsync(task); if (affectedRecordsCount < 1) { isSucceed = false; } return(new UpdateTaskStatusCommandResult() { Succeed = isSucceed }); }