public async Task <Domain.Tasks.Task> HandleNewTask(CreateNewTaskCommand createNewTaskCommand)
        {
            var task = _taskFactory.CreateTaskInstance(
                summary: new Domain.Tasks.ValueObjects.Summary(createNewTaskCommand.Summary),
                description: new Domain.Tasks.ValueObjects.Description(createNewTaskCommand.Description)
                );

            var taskCreated = await _taskRepository.Add(task);

            // You may raise an event in case you need to propagate this change to other microservices
            await _mediator.PublishAsync(new TaskCreatedEvent(taskCreated.TaskId.ToGuid(),
                                                              taskCreated.Description.ToString(), taskCreated.Summary.ToString()));

            return(taskCreated);
        }
 public Task <Domain.Tasks.Task> Add(Domain.Tasks.Task taskEntity)
 {
     return(System.Threading.Tasks.Task.FromResult(
                _taskFactory.CreateTaskInstance(new Summary("summary test"), new Description("description test"))));
 }