Ejemplo n.º 1
0
        public async Task HandleAsync(ChangeToDoTaskStatusCommand command)
        {
            var status = (ToDoListStatus)command.Status;

            switch (status)
            {
            case ToDoListStatus.InProgress: await _toDoListsService.StartTaskAsync(command.ListId, command.TaskId, command.UserId.Value);

                break;

            case ToDoListStatus.Done: await _toDoListsService.CompleteTaskAsync(command.ListId, command.TaskId, command.UserId.Value);

                break;

            case ToDoListStatus.OnHold: await _toDoListsService.HoldTaskAsync(command.ListId, command.TaskId, command.UserId.Value);

                break;

            case ToDoListStatus.Cancelled: await _toDoListsService.CancelTaskAsync(command.ListId, command.TaskId, command.UserId.Value);

                break;

            case ToDoListStatus.Archived: await _toDoListsService.DeleteTaskAsync(command.ListId, command.TaskId, command.UserId.Value);

                break;

            default: throw new BusinessLogicException("incorrect_status");
            }
        }